// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "RHI.h" #include "RendererInterface.h" /** Whether render graph debugging is enabled. */ #define RDG_ENABLE_DEBUG (!UE_BUILD_SHIPPING && !UE_BUILD_TEST) /** Performs the operation if RDG_ENABLE_DEBUG is enabled. Useful for one-line checks without explicitly wrapping in #if. */ #if RDG_ENABLE_DEBUG #define IF_RDG_ENABLE_DEBUG(Op) Op #else #define IF_RDG_ENABLE_DEBUG(Op) #endif /** Whether render graph debugging is enabled and we are compiling with the engine. */ #define RDG_ENABLE_DEBUG_WITH_ENGINE (RDG_ENABLE_DEBUG && WITH_ENGINE) /** The type of GPU events the render graph system supports. * RDG_EVENTS == 0 means there is no string processing at all. * RDG_EVENTS == 1 means the format component of the event name is stored as a const TCHAR*. * RDG_EVENTS == 2 means string formatting is evaluated and stored in an FString. */ #define RDG_EVENTS_NONE 0 #define RDG_EVENTS_STRING_REF 1 #define RDG_EVENTS_STRING_COPY 2 /** Whether render graph GPU events are enabled. */ #if WITH_PROFILEGPU #define RDG_EVENTS RDG_EVENTS_STRING_COPY #else #define RDG_EVENTS RDG_EVENTS_NONE #endif