14#include "Misc/Optional.h"
36template <
typename TValueType>
664 UE_DEPRECATED(5.7,
"BindlessSupport is not used anymore, it is now a bool in bSupportsBindless")
682 bool SupportsVolumeTextures =
false;
690 int32 TextureArrayMinimumMipDimension = 256;
697 static constexpr int32 TileSizeInBytes = 65536;
750UE_DEPRECATED(5.6,
"Direct use of GGPUFrameTime is deprecated. Call the global scope RHIGetGPUFrameCycles() function instead.")
756#define GIsRHIInitialized GRHIGlobals.IsRHIInitialized
757#define GRHIPersistentThreadGroupCount GRHIGlobals.PersistentThreadGroupCount
758#define GMaxTextureMipCount GRHIGlobals.MaxTextureMipCount
759#define GSupportsQuadBufferStereo GRHIGlobals.SupportsQuadBufferStereo
760#define GSupportsRenderDepthTargetableShaderResources GRHIGlobals.SupportsRenderDepthTargetableShaderResources
761#define GRHISupportsDrawIndirect GRHIGlobals.SupportsDrawIndirect
762#define GRHISupportsMultiDrawIndirect GRHIGlobals.SupportsMultiDrawIndirect
763#define GRHISupportsMultithreading GRHIGlobals.SupportsMultithreading
764#define GRHISupportsAsyncGetRenderQueryResult GRHIGlobals.SupportsAsyncGetRenderQueryResult
765#define GRHIAdapterName GRHIGlobals.GpuInfo.AdapterName
766#define GRHIAdapterInternalDriverVersion GRHIGlobals.GpuInfo.AdapterInternalDriverVersion
767#define GRHIAdapterUserDriverVersion GRHIGlobals.GpuInfo.AdapterUserDriverVersion
768#define GRHIAdapterDriverDate GRHIGlobals.GpuInfo.AdapterDriverDate
769#define GRHIAdapterDriverOnDenyList GRHIGlobals.GpuInfo.AdapterDriverOnDenyList
770#define GRHIDeviceId GRHIGlobals.GpuInfo.DeviceId
771#define GRHIDeviceRevision GRHIGlobals.GpuInfo.DeviceRevision
772#define GRHIVendorId GRHIGlobals.GpuInfo.VendorId
773#define GRHISupportsPixelShaderUAVs GRHIGlobals.SupportsPixelShaderUAVs
774#define GRHIDeviceIsAMDPreGCNArchitecture GRHIGlobals.GpuInfo.IsAMDPreGCNArchitecture
775#define GSupportsRenderTargetFormat_PF_G8 GRHIGlobals.SupportsRenderTargetFormat_PF_G8
776#define GSupportsRenderTargetFormat_PF_FloatRGBA GRHIGlobals.SupportsRenderTargetFormat_PF_FloatRGBA
777#define GSupportsShaderFramebufferFetch GRHIGlobals.SupportsShaderFramebufferFetch
778#define GSupportsShaderFramebufferFetchProgrammableBlending GRHIGlobals.SupportsShaderFramebufferFetchProgrammableBlending
779#define GSupportsShaderMRTFramebufferFetch GRHIGlobals.SupportsShaderMRTFramebufferFetch
780#define GSupportsPixelLocalStorage GRHIGlobals.SupportsPixelLocalStorage
781#define GSupportsShaderDepthStencilFetch GRHIGlobals.SupportsShaderDepthStencilFetch
782#define GSupportsTimestampRenderQueries GRHIGlobals.SupportsTimestampRenderQueries
783#define GRHISupportsGPUTimestampBubblesRemoval GRHIGlobals.SupportsGPUTimestampBubblesRemoval
784#define GRHISupportsFrameCyclesBubblesRemoval GRHIGlobals.SupportsFrameCyclesBubblesRemoval
785#define GRHISupportsGPUUsage GRHIGlobals.SupportsGPUUsage
786#define GHardwareHiddenSurfaceRemoval GRHIGlobals.HardwareHiddenSurfaceRemoval
787#define GRHISupportsAsyncTextureCreation GRHIGlobals.SupportsAsyncTextureCreation
788#define GRHISupportsQuadTopology GRHIGlobals.SupportsQuadTopology
789#define GRHISupportsRectTopology GRHIGlobals.SupportsRectTopology
790#define GRHISupportsPrimitiveShaders GRHIGlobals.SupportsPrimitiveShaders
791#define GRHISupportsAtomicUInt64 GRHIGlobals.SupportsAtomicUInt64
792#define GRHISupportsDX12AtomicUInt64 GRHIGlobals.SupportsDX12AtomicUInt64
793#define GRHISupportsPipelineStateSortKey GRHIGlobals.SupportsPipelineStateSortKey
794#define GSupportsParallelRenderingTasksWithSeparateRHIThread GRHIGlobals.SupportsParallelRenderingTasksWithSeparateRHIThread
795#define GRHIThreadNeedsKicking GRHIGlobals.RHIThreadNeedsKicking
796#define GRHIMaximumInFlightQueries GRHIGlobals.MaximumInFlightQueries
797#define GRHISupportsExactOcclusionQueries GRHIGlobals.SupportsExactOcclusionQueries
798#define GSupportsVolumeTextureRendering GRHIGlobals.SupportsVolumeTextureRendering
799#define GSupportsSeparateRenderTargetBlendState GRHIGlobals.SupportsSeparateRenderTargetBlendState
800#define GSupportsDualSrcBlending GRHIGlobals.SupportsDualSrcBlending
801#define GRHINeedsUnatlasedCSMDepthsWorkaround GRHIGlobals.NeedsUnatlasedCSMDepthsWorkaround
802#define GSupportsTexture3D GRHIGlobals.SupportsTexture3D
803#define GUseTexture3DBulkDataRHI GRHIGlobals.UseTexture3DBulkData
804#define GSupportsMobileMultiView GRHIGlobals.SupportsMobileMultiView
805#define GSupportsImageExternal GRHIGlobals.SupportsImageExternal
806#define GSupportsWideMRT GRHIGlobals.SupportsWideMRT
807#define GSupportsDepthBoundsTest GRHIGlobals.SupportsDepthBoundsTest
808#define GRHISupportsExplicitHTile GRHIGlobals.SupportsExplicitHTile
809#define GRHISupportsExplicitFMask GRHIGlobals.SupportsExplicitFMask
810#define GRHISupportsResummarizeHTile GRHIGlobals.SupportsResummarizeHTile
811#define GRHISupportsDepthUAV GRHIGlobals.SupportsDepthUAV
812#define GSupportsEfficientAsyncCompute GRHIGlobals.SupportsEfficientAsyncCompute
813#define GSupportsParallelOcclusionQueries GRHIGlobals.SupportsParallelOcclusionQueries
814#define GRHIRequiresRenderTargetForPixelShaderUAVs GRHIGlobals.RequiresRenderTargetForPixelShaderUAVs
815#define GRHISupportsUAVFormatAliasing GRHIGlobals.SupportsUAVFormatAliasing
816#define GRHISupportsTextureViews GRHIGlobals.SupportsTextureViews
817#define GRHISupportsDirectGPUMemoryLock GRHIGlobals.SupportsDirectGPUMemoryLock
818#define GRHISupportsMultithreadedShaderCreation GRHIGlobals.SupportsMultithreadedShaderCreation
819#define GRHISupportsMultithreadedResources GRHIGlobals.SupportsMultithreadedResources
820#define GRHINeedsExtraDeletionLatency GRHIGlobals.NeedsExtraDeletionLatency
821#define GRHIForceNoDeletionLatencyForStreamingTextures GRHIGlobals.ForceNoDeletionLatencyForStreamingTextures
822#define GMaxComputeDispatchDimension GRHIGlobals.MaxComputeDispatchDimension
823#define GRHILazyShaderCodeLoading GRHIGlobals.LazyShaderCodeLoading
824#define GRHISupportsLazyShaderCodeLoading GRHIGlobals.SupportsLazyShaderCodeLoading
825#define GRHISupportsUpdateFromBufferTexture GRHIGlobals.SupportsUpdateFromBufferTexture
826#define GMaxShadowDepthBufferSizeX GRHIGlobals.MaxShadowDepthBufferSizeX
827#define GMaxShadowDepthBufferSizeY GRHIGlobals.MaxShadowDepthBufferSizeY
828#define GMaxTextureDimensions GRHIGlobals.MaxTextureDimensions
829#define GRHIMaxConstantBufferByteSize GRHIGlobals.MaxConstantBufferByteSize
830#define GMaxComputeSharedMemory GRHIGlobals.MaxComputeSharedMemory
831#define GMaxVolumeTextureDimensions GRHIGlobals.MaxVolumeTextureDimensions
832#define GRHISupportsRWTextureBuffers GRHIGlobals.SupportsRWTextureBuffers
833#define GRHISupportsRawViewsForAnyBuffer GRHIGlobals.SupportsRawViewsForAnyBuffer
834#define GRHISupportsSeparateDepthStencilCopyAccess GRHIGlobals.SupportsSeparateDepthStencilCopyAccess
835#define GRHISupportAsyncTextureStreamOut GRHIGlobals.SupportsAsyncTextureStreamOut
836#define GMaxCubeTextureDimensions GRHIGlobals.MaxCubeTextureDimensions
837#define GMaxTextureArrayLayers GRHIGlobals.MaxTextureArrayLayers
838#define GMaxTextureSamplers GRHIGlobals.MaxTextureSamplers
839#define GMaxWorkGroupInvocations GRHIGlobals.MaxWorkGroupInvocations
840#define GUsingNullRHI GRHIGlobals.UsingNullRHI
841#define GDrawUPVertexCheckCount GRHIGlobals.DrawUPVertexCheckCount
842#define GDrawUPIndexCheckCount GRHIGlobals.DrawUPIndexCheckCount
843#define GVertexElementTypeSupport GRHIGlobals.VertexElementTypeSupport
844#define GTriggerGPUProfile GRHIGlobals.TriggerGPUProfile
845#define GTriggerGPUHitchProfile GRHIGlobals.TriggerGPUHitchProfile
846#define GTriggerGPUCrash GRHIGlobals.TriggerGPUCrash
847#define GGPUTraceFileName GRHIGlobals.GPUTraceFileName
848#define GRHISupportsTextureStreaming GRHIGlobals.SupportsTextureStreaming
849#define GTexturePoolSize GRHIGlobals.TexturePoolSize
850#define GPoolSizeVRAMPercentage GRHIGlobals.PoolSizeVRAMPercentage
851#define GDemotedLocalMemorySize GRHIGlobals.DemotedLocalMemorySize
852#define GRHISupportsBaseVertexIndex GRHIGlobals.SupportsBaseVertexIndex
853#define GRHISupportsFirstInstance GRHIGlobals.SupportsFirstInstance
854#define GRHISupportsDynamicResolution GRHIGlobals.SupportsDynamicResolution
855#define GRHISupportsRayTracing GRHIGlobals.RayTracing.Supported
856#define GRHISupportsRayTracingShaders GRHIGlobals.RayTracing.SupportsShaders
857#define GRHISupportsRayTracingPSOAdditions GRHIGlobals.RayTracing.SupportsPSOAdditions
858#define GRHISupportsRayTracingDispatchIndirect GRHIGlobals.RayTracing.SupportsDispatchIndirect
859#define GRHISupportsRayTracingAsyncBuildAccelerationStructure GRHIGlobals.RayTracing.SupportsAsyncBuildAccelerationStructure
860#define GRHISupportsRayTracingAMDHitToken GRHIGlobals.RayTracing.SupportsAMDHitToken
861#define GRHISupportsInlineRayTracing GRHIGlobals.RayTracing.SupportsInlineRayTracing
862#define GRHIRayTracingAccelerationStructureAlignment GRHIGlobals.RayTracing.AccelerationStructureAlignment
863#define GRHIRayTracingScratchBufferAlignment GRHIGlobals.RayTracing.ScratchBufferAlignment
864#define GRHIRayTracingShaderTableAlignment GRHIGlobals.RayTracing.ShaderTableAlignment
865#define GRHIRayTracingInstanceDescriptorSize GRHIGlobals.RayTracing.InstanceDescriptorSize
866#define GRHISupportsWaveOperations GRHIGlobals.SupportsWaveOperations
867#define GRHIDeviceIsIntegrated GRHIGlobals.DeviceIsIntegrated
868#define GRHIMinimumWaveSize GRHIGlobals.MinimumWaveSize
869#define GRHIMaximumWaveSize GRHIGlobals.MaximumWaveSize
870#define GRHISupportsRHIThread GRHIGlobals.SupportsRHIThread
871#define GRHISupportsRHIOnTaskThread GRHIGlobals.SupportsRHIOnTaskThread
872#define GRHISupportsParallelRHIExecute GRHIGlobals.SupportsParallelRHIExecute
873#define GRHISupportsParallelRenderPasses GRHIGlobals.SupportsParallelRenderPasses
874#define GRHIParallelRHIExecuteChildWait GRHIGlobals.ParallelRHIExecuteChildWait
875#define GRHIParallelRHIExecuteParentWait GRHIGlobals.ParallelRHIExecuteParentWait
876#define GRHISupportsParallelRHIExecute GRHIGlobals.SupportsParallelRHIExecute
877#define GRHISupportsMSAADepthSampleAccess GRHIGlobals.SupportsMSAADepthSampleAccess
878#define GRHISupportsBackBufferWithCustomDepthStencil GRHIGlobals.SupportsBackBufferWithCustomDepthStencil
879#define GRHIIsHDREnabled GRHIGlobals.IsHDREnabled
880#define GRHISupportsHDROutput GRHIGlobals.SupportsHDROutput
881#define GRHIMaxDispatchThreadGroupsPerDimension GRHIGlobals.MaxDispatchThreadGroupsPerDimension
882#define GRHISupportsPipelineVariableRateShading GRHIGlobals.VariableRateShading.SupportsPipeline
883#define GRHISupportsLargerVariableRateShadingSizes GRHIGlobals.VariableRateShading.SupportsLargerSizes
884#define GRHISupportsAttachmentVariableRateShading GRHIGlobals.VariableRateShading.SupportsAttachment
885#define GRHISupportsComplexVariableRateShadingCombinerOps GRHIGlobals.VariableRateShading.SupportsComplexCombinerOps
886#define GRHISupportsVariableRateShadingAttachmentArrayTextures GRHIGlobals.VariableRateShading.SupportsAttachmentArrayTextures
887#define GRHIVariableRateShadingImageTileMaxWidth GRHIGlobals.VariableRateShading.ImageTileMaxWidth
888#define GRHIVariableRateShadingImageTileMaxHeight GRHIGlobals.VariableRateShading.ImageTileMaxHeight
889#define GRHIVariableRateShadingImageTileMinWidth GRHIGlobals.VariableRateShading.ImageTileMinWidth
890#define GRHIVariableRateShadingImageTileMinHeight GRHIGlobals.VariableRateShading.ImageTileMinHeight
891#define GRHIVariableRateShadingImageDataType GRHIGlobals.VariableRateShading.ImageDataType
892#define GRHIVariableRateShadingImageFormat GRHIGlobals.VariableRateShading.ImageFormat
893#define GRHISupportsLateVariableRateShadingUpdate GRHIGlobals.VariableRateShading.SupportsLateUpdate
894#define GRHIHDRDisplayOutputFormat GRHIGlobals.HDRDisplayOutputFormat
895#define GRHIPresentCounter GRHIGlobals.PresentCounter
896#define GRHISupportsArrayIndexFromAnyShader GRHIGlobals.SupportsArrayIndexFromAnyShader
897#define GRHISupportsPipelineFileCache GRHIGlobals.SupportsPipelineFileCache
898#define GRHISupportsPSOPrecaching GRHIGlobals.SupportsPSOPrecaching
899#define GRHISupportsStencilRefFromPixelShader GRHIGlobals.SupportsStencilRefFromPixelShader
900#define GRHISupportsRasterOrderViews GRHIGlobals.SupportsRasterOrderViews
901#define GRHISupportsConservativeRasterization GRHIGlobals.SupportsConservativeRasterization
902#define GRHISupportsShaderRootConstants GRHIGlobals.SupportsShaderRootConstants
903#define GRHISupportsShaderBundleDispatch GRHIGlobals.ShaderBundles.SupportsDispatch
904#define GRHISupportsShaderBundleWorkGraphDispatch GRHIGlobals.ShaderBundles.SupportsWorkGraphDispatch
905#define GRHISupportsShaderBundleParallel GRHIGlobals.ShaderBundles.SupportsParallel
906#define GRHISupportsMeshShadersTier0 GRHIGlobals.SupportsMeshShadersTier0
907#define GRHISupportsMeshShadersTier1 GRHIGlobals.SupportsMeshShadersTier1
908#define GRHISupportsShaderWorkGraphsTier1 GRHIGlobals.SupportsShaderWorkGraphsTier1
909#define GRHISupportsShaderTimestamp GRHIGlobals.SupportsShaderTimestamp
910#define GRHISupportsEfficientUploadOnResourceCreation GRHIGlobals.SupportsEfficientUploadOnResourceCreation
911#define GRHISupportsMapWriteNoOverwrite GRHIGlobals.SupportsMapWriteNoOverwrite
912#define GRHIDefaultMSAASampleOffsets GRHIGlobals.DefaultMSAASampleOffsets
913#define GRHISupportsAsyncPipelinePrecompile GRHIGlobals.SupportsAsyncPipelinePrecompile
914#define GRHIBindlessSupport GRHIGlobals.BindlessSupport
915#define GShaderPlatformForFeatureLevel GRHIGlobals.ShaderPlatformForFeatureLevel
916#define GRHIIsDebugLayerEnabled GRHIGlobals.IsDebugLayerEnabled
917#define GRHISupportsMSAAShaderResolve GRHIGlobals.SupportsMSAAShaderResolve
918#define GRHISupportsDepthStencilResolve GRHIGlobals.SupportsDepthStencilResolve
919#define GRHISupportsLossyFramebufferCompression GRHIGlobals.SupportsLossyFramebufferCompression
920#define GRHISupportsBindingTexArrayPerSlice GRHIGlobals.SupportsBindingTexArrayPerSlice
921#define GRHINeedsSRVGraphicsNonPixelWorkaround GRHIGlobals.NeedsSRVGraphicsNonPixelWorkaround
968 checkf(!
IsRunningCookCommandlet(),
TEXT(
"Calling GetFeatureLevelShaderPlatform while inside a cook commandlet is not correct, as it will return the cookers ShaderPlatform and not the ShaderPlatform you are cooking for"));
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
FORCEINLINE bool IsRunningCookCommandlet()
Definition CoreGlobals.h:259
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define MAX_int32
Definition NumericLimits.h:25
EVertexElementType
Definition RHIDefinitions.h:496
@ VET_MAX
Definition RHIDefinitions.h:518
ERequestedGPUCrash
Definition RHIDefinitions.h:1529
EVRSImageDataType
Definition RHIDefinitions.h:882
@ VRSImage_NotSupported
Definition RHIDefinitions.h:883
@ MAX_TEXTURE_MIP_COUNT
Definition RHIDefinitions.h:268
uint32 GetMax2DTextureDimension()
Definition RHIGlobals.h:935
uint32 GetMaxTextureSamplers()
Definition RHIGlobals.h:950
uint32 GetMaxCubeTextureDimension()
Definition RHIGlobals.h:940
constexpr float GProjectionSignY
Definition RHIGlobals.h:21
constexpr float GMinClipZ
Definition RHIGlobals.h:18
uint32 GetMaxWorkGroupInvocations()
Definition RHIGlobals.h:955
uint32 GetMaxTextureArrayLayers()
Definition RHIGlobals.h:945
EShaderPlatform GetFeatureLevelShaderPlatform_Checked(const FStaticFeatureLevel InFeatureLevel)
Definition RHIGlobals.h:966
EShaderPlatform GetFeatureLevelShaderPlatform(const FStaticFeatureLevel InFeatureLevel)
Definition RHIGlobals.h:961
RHI_API FRHIGlobals GRHIGlobals
Definition RHIGlobals.cpp:6
RHI_API uint32 GGPUFrameTime
Definition RHIGlobals.cpp:8
uint64 GetMaxConstantBufferByteSize()
Definition RHIGlobals.h:925
uint64 GetMaxComputeSharedMemory()
Definition RHIGlobals.h:930
Definition NameTypes.h:617
Definition RHIGlobals.h:25
FVertexElementTypeSupportInfo()
Definition RHIGlobals.h:27
bool IsSupported(EVertexElementType ElementType)
Definition RHIGlobals.h:28
void SetSupported(EVertexElementType ElementType, bool bIsSupported)
Definition RHIGlobals.h:29
Definition RHIGlobals.h:38
TRHIGlobal(const TValueType &InValue)
Definition RHIGlobals.h:41
TRHIGlobal & operator=(const TValueType &InValue)
Definition RHIGlobals.h:43
@ Num
Definition RHIFeatureLevel.h:54
@ false
Definition radaudio_common.h:23
Definition RHIGlobals.h:120
FString AdapterUserDriverVersion
Definition RHIGlobals.h:127
bool IsAMDPreGCNArchitecture
Definition RHIGlobals.h:134
uint32 VendorId
Definition RHIGlobals.h:137
uint32 DeviceId
Definition RHIGlobals.h:130
FString AdapterName
Definition RHIGlobals.h:125
FString AdapterInternalDriverVersion
Definition RHIGlobals.h:126
FString AdapterDriverDate
Definition RHIGlobals.h:128
bool AdapterDriverOnDenyList
Definition RHIGlobals.h:129
uint32 DeviceRevision
Definition RHIGlobals.h:131
Definition RHIGlobals.h:418
bool SupportsClusterOps
Definition RHIGlobals.h:444
bool Supported
Definition RHIGlobals.h:423
bool SupportsPSOAdditions
Definition RHIGlobals.h:432
bool SupportsAccelerationStructureCompaction
Definition RHIGlobals.h:465
uint32 ClusterAccelerationStructureAlignment
Definition RHIGlobals.h:477
bool SupportsLooseParamsInShaderRecord
Definition RHIGlobals.h:462
uint32 ClusterAccelerationStructureTemplateAlignment
Definition RHIGlobals.h:480
bool RequiresInlineRayTracingSBT
Definition RHIGlobals.h:453
uint32 ShaderTableAlignment
Definition RHIGlobals.h:486
bool SupportsSerializeAccelerationStructure
Definition RHIGlobals.h:468
bool SupportsShaders
Definition RHIGlobals.h:429
bool SupportsPersistentSBTs
Definition RHIGlobals.h:459
bool SupportsInlineRayTracing
Definition RHIGlobals.h:450
bool RequiresSeparateHitGroupContributionsBuffer
Definition RHIGlobals.h:471
uint32 ScratchBufferAlignment
Definition RHIGlobals.h:483
bool SupportsInlinedCallbacks
Definition RHIGlobals.h:456
bool SupportsDispatchIndirect
Definition RHIGlobals.h:435
uint32 AccelerationStructureAlignment
Definition RHIGlobals.h:474
bool SupportsAMDHitToken
Definition RHIGlobals.h:447
bool SupportsAsyncRayTraceDispatch
Definition RHIGlobals.h:441
uint32 InstanceDescriptorSize
Definition RHIGlobals.h:489
bool SupportsAsyncBuildAccelerationStructure
Definition RHIGlobals.h:438
Definition RHIGlobals.h:672
Definition RHIGlobals.h:616
bool SupportsWorkGraphGraphicsDispatch
Definition RHIGlobals.h:624
bool SupportsParallel
Definition RHIGlobals.h:627
bool SupportsDispatch
Definition RHIGlobals.h:618
bool RequiresSharedBindlessParameters
Definition RHIGlobals.h:630
bool SupportsWorkGraphDispatch
Definition RHIGlobals.h:621
Definition RHIGlobals.h:549
int32 ImageTileMinWidth
Definition RHIGlobals.h:572
bool SupportsAttachment
Definition RHIGlobals.h:557
bool SupportsLargerSizes
Definition RHIGlobals.h:554
int32 ImageTileMaxHeight
Definition RHIGlobals.h:569
EVRSImageDataType ImageDataType
Definition RHIGlobals.h:578
bool SupportsPipeline
Definition RHIGlobals.h:551
EPixelFormat ImageFormat
Definition RHIGlobals.h:581
int32 ImageTileMinHeight
Definition RHIGlobals.h:575
int32 ImageTileMaxWidth
Definition RHIGlobals.h:566
bool SupportsAttachmentArrayTextures
Definition RHIGlobals.h:563
bool SupportsLateUpdate
Definition RHIGlobals.h:584
bool SupportsComplexCombinerOps
Definition RHIGlobals.h:560
Definition RHIGlobals.h:88
TRHIGlobal< uint64 > MaxViewDimensionForTypedBuffer
Definition RHIGlobals.h:312
bool SupportsBaseVertexIndex
Definition RHIGlobals.h:409
TRHIGlobal< int64 > MaxConstantBufferByteSize
Definition RHIGlobals.h:318
TRHIGlobal< int32 > MaxShadowDepthBufferSizeX
Definition RHIGlobals.h:303
bool SupportsShaderExecutionReordering
Definition RHIGlobals.h:723
bool RHIThreadNeedsKicking
Definition RHIGlobals.h:207
bool SupportsDrawIndirect
Definition RHIGlobals.h:108
bool SupportsRasterOrderViews
Definition RHIGlobals.h:607
bool NeedsSRVGraphicsNonPixelWorkaround
Definition RHIGlobals.h:741
bool SupportsNative16BitOps
Definition RHIGlobals.h:508
bool SupportsAsyncPipelinePrecompile
Definition RHIGlobals.h:661
EPixelFormat HDRDisplayOutputFormat
Definition RHIGlobals.h:589
bool NeedsExtraTransitions
Definition RHIGlobals.h:726
bool SupportsRawViewsForAnyBuffer
Definition RHIGlobals.h:333
int32 MaxTextureArrayLayers
Definition RHIGlobals.h:342
bool SupportsVolumeTextureRendering
Definition RHIGlobals.h:216
EShaderPlatform ShaderPlatformForFeatureLevel[ERHIFeatureLevel::Num]
Definition RHIGlobals.h:702
bool SupportsGPUUsage
Definition RHIGlobals.h:177
bool ParallelRHIExecuteParentWait
Definition RHIGlobals.h:531
bool SupportsParallelRenderingTasksWithSeparateRHIThread
Definition RHIGlobals.h:204
bool IsHDREnabled
Definition RHIGlobals.h:540
struct FRHIGlobals::FVariableRateShading VariableRateShading
bool SupportsWideMRT
Definition RHIGlobals.h:240
bool NeedsExtraDeletionLatency
Definition RHIGlobals.h:285
bool SupportsDX12AtomicUInt64
Definition RHIGlobals.h:198
bool SupportLinearTextureVolumeFormat
Definition RHIGlobals.h:720
bool SupportsLossyFramebufferCompression
Definition RHIGlobals.h:735
TRHIGlobal< int32 > MaxCubeTextureDimensions
Definition RHIGlobals.h:327
int32 MaxTextureSamplers
Definition RHIGlobals.h:344
int32 DrawUPIndexCheckCount
Definition RHIGlobals.h:367
bool SupportsTextureViews
Definition RHIGlobals.h:273
bool IsDebugLayerEnabled
Definition RHIGlobals.h:705
bool SupportsExactOcclusionQueries
Definition RHIGlobals.h:213
TRHIGlobal< int32 > MaxComputeDispatchDimension
Definition RHIGlobals.h:291
bool SupportsUAVFormatAliasing
Definition RHIGlobals.h:270
bool SupportsParallelRenderPasses
Definition RHIGlobals.h:525
bool SupportsFirstInstance
Definition RHIGlobals.h:412
bool SupportsMultithreadedResources
Definition RHIGlobals.h:282
bool SupportsDepthStencilResolve
Definition RHIGlobals.h:717
bool DeviceIsIntegrated
Definition RHIGlobals.h:497
bool SupportsTexture3D
Definition RHIGlobals.h:228
bool SupportsQuadBufferStereo
Definition RHIGlobals.h:102
FName PreferredPreviewShaderCodeFormat
Definition RHIGlobals.h:744
volatile uint64 StreamingTextureMemorySizeInKB
Definition RHIGlobals.h:388
bool SupportsShaderFramebufferFetchProgrammableBlending
Definition RHIGlobals.h:159
bool SupportsEfficientAsyncCompute
Definition RHIGlobals.h:258
volatile uint64 NonStreamingTextureMemorySizeInKB
Definition RHIGlobals.h:391
ERequestedGPUCrash TriggerGPUCrash
Definition RHIGlobals.h:379
int32 PersistentThreadGroupCount
Definition RHIGlobals.h:96
bool SupportsRWTextureBuffers
Definition RHIGlobals.h:330
bool NeedsShaderUnbinds
Definition RHIGlobals.h:708
bool SupportsShaderRootConstants
Definition RHIGlobals.h:613
bool SupportsConservativeRasterization
Definition RHIGlobals.h:610
bool SupportsPixelLocalStorage
Definition RHIGlobals.h:162
bool SupportsDirectGPUMemoryLock
Definition RHIGlobals.h:276
bool SupportsMultiDrawIndirect
Definition RHIGlobals.h:111
FString GPUTraceFileName
Definition RHIGlobals.h:382
bool SupportsPrimitiveShaders
Definition RHIGlobals.h:192
bool SupportsDynamicResolution
Definition RHIGlobals.h:415
int32 PoolSizeVRAMPercentage
Definition RHIGlobals.h:397
bool SupportsQuadTopology
Definition RHIGlobals.h:186
bool SupportsMobileMultiView
Definition RHIGlobals.h:234
bool SupportsRenderDepthTargetableShaderResources
Definition RHIGlobals.h:105
bool SupportsShaderWorkGraphsTier1_1
Definition RHIGlobals.h:644
bool SupportsTimestampRenderQueries
Definition RHIGlobals.h:168
bool SupportsParallelRHIExecute
Definition RHIGlobals.h:520
bool SupportsEfficientUploadOnResourceCreation
Definition RHIGlobals.h:652
bool NeedsUnatlasedCSMDepthsWorkaround
Definition RHIGlobals.h:225
bool NeedsTransientDiscardStateTracking
Definition RHIGlobals.h:729
bool UsingNullRHI
Definition RHIGlobals.h:356
bool ForceNoDeletionLatencyForStreamingTextures
Definition RHIGlobals.h:288
bool SupportsAsyncTextureStreamOut
Definition RHIGlobals.h:339
volatile uint64 BufferMemorySize
Definition RHIGlobals.h:403
bool SupportsSeparateRenderTargetBlendState
Definition RHIGlobals.h:219
bool SupportsAtomicUInt64
Definition RHIGlobals.h:195
bool SupportsParallelOcclusionQueries
Definition RHIGlobals.h:264
bool NeedsTransientDiscardOnGraphicsWorkaround
Definition RHIGlobals.h:732
TRHIGlobal< bool > SupportsRenderTargetFormat_PF_G8
Definition RHIGlobals.h:147
int32 MaximumInFlightQueries
Definition RHIGlobals.h:210
struct FRHIGlobals::FShaderBundles ShaderBundles
bool RequiresRenderTargetForPixelShaderUAVs
Definition RHIGlobals.h:267
bool SupportsExplicitFMask
Definition RHIGlobals.h:249
bool SupportsPipelineStateSortKey
Definition RHIGlobals.h:201
bool SupportsUpdateFromBufferTexture
Definition RHIGlobals.h:300
bool SupportsRHIThread
Definition RHIGlobals.h:511
bool SupportsArrayIndexFromAnyShader
Definition RHIGlobals.h:595
PRAGMA_ENABLE_DEPRECATION_WARNINGS bool bSupportsBindless
Definition RHIGlobals.h:669
bool UseTexture3DBulkData
Definition RHIGlobals.h:231
bool ParallelRHIExecuteChildWait
Definition RHIGlobals.h:528
uint64 PresentCounter
Definition RHIGlobals.h:592
bool SupportsRHIOnTaskThread
Definition RHIGlobals.h:514
TRHIGlobal< int32 > MaxTextureDimensions
Definition RHIGlobals.h:309
bool SupportsShaderFramebufferFetch
Definition RHIGlobals.h:153
bool LazyShaderCodeLoading
Definition RHIGlobals.h:294
int32 MaxSimultaneousUAVs
Definition RHIGlobals.h:350
bool SupportsMSAADepthSampleAccess
Definition RHIGlobals.h:534
int64 TexturePoolSize
Definition RHIGlobals.h:394
TRHIGlobal< int64 > MaxComputeSharedMemory
Definition RHIGlobals.h:321
bool TriggerGPUHitchProfile
Definition RHIGlobals.h:376
bool SupportsImageExternal
Definition RHIGlobals.h:237
bool SupportsBarycentricsSemantic
Definition RHIGlobals.h:711
FVertexElementTypeSupportInfo VertexElementTypeSupport
Definition RHIGlobals.h:370
bool SupportsDualSrcBlending
Definition RHIGlobals.h:222
TRHIGlobal< uint64 > MaxViewSizeBytesForNonTypedBuffer
Definition RHIGlobals.h:315
uint64 DemotedLocalMemorySize
Definition RHIGlobals.h:400
bool SupportsShaderTimestamp
Definition RHIGlobals.h:650
bool SupportsSeparateDepthStencilCopyAccess
Definition RHIGlobals.h:336
static constexpr int32 MinGuaranteedSimultaneousUAVs
Definition RHIGlobals.h:347
bool SupportsAsyncTextureCreation
Definition RHIGlobals.h:183
bool SupportsResummarizeHTile
Definition RHIGlobals.h:252
bool SupportsStencilRefFromPixelShader
Definition RHIGlobals.h:604
TRHIGlobal< int32 > MaxVolumeTextureDimensions
Definition RHIGlobals.h:324
TRHIGlobal< int32 > MaxWorkGroupInvocations
Definition RHIGlobals.h:353
bool SupportsMeshShadersTier1
Definition RHIGlobals.h:638
bool SupportsLazyShaderCodeLoading
Definition RHIGlobals.h:297
PRAGMA_DISABLE_DEPRECATION_WARNINGS ERHIBindlessSupport BindlessSupport
Definition RHIGlobals.h:665
volatile uint64 UniformBufferMemorySize
Definition RHIGlobals.h:406
bool SupportsMultithreading
Definition RHIGlobals.h:114
bool SupportsBindingTexArrayPerSlice
Definition RHIGlobals.h:738
bool SupportsWaveOperations
Definition RHIGlobals.h:494
struct FRHIGlobals::FGpuInfo GpuInfo
bool SupportsGPUTimestampBubblesRemoval
Definition RHIGlobals.h:171
bool SupportsShaderWorkGraphsTier1
Definition RHIGlobals.h:641
int32 MaximumWaveSize
Definition RHIGlobals.h:505
bool HardwareHiddenSurfaceRemoval
Definition RHIGlobals.h:180
bool SupportsShaderMRTFramebufferFetch
Definition RHIGlobals.h:156
bool IsRHIInitialized
Definition RHIGlobals.h:93
bool SupportsMSAAShaderResolve
Definition RHIGlobals.h:714
int32 MaxTextureMipCount
Definition RHIGlobals.h:99
bool SupportsShaderDepthStencilFetch
Definition RHIGlobals.h:165
bool SupportsRectTopology
Definition RHIGlobals.h:189
RHI_API FRHIGlobals()
Definition RHIGlobals.cpp:57
bool SupportsPipelineFileCache
Definition RHIGlobals.h:598
int32 DrawUPVertexCheckCount
Definition RHIGlobals.h:362
bool SupportsExplicitHTile
Definition RHIGlobals.h:246
bool SupportsDepthBoundsTest
Definition RHIGlobals.h:243
bool SupportsDepthUAV
Definition RHIGlobals.h:255
FVector2f DefaultMSAASampleOffsets[1+2+4+8+16]
Definition RHIGlobals.h:658
TRHIGlobal< bool > SupportsRenderTargetFormat_PF_FloatRGBA
Definition RHIGlobals.h:150
struct FRHIGlobals::FReservedResources ReservedResources
bool SupportsVertexShaderUAVs
Definition RHIGlobals.h:144
bool SupportsMapWriteNoOverwrite
Definition RHIGlobals.h:655
bool SupportsPSOPrecaching
Definition RHIGlobals.h:601
TRHIGlobal< int32 > MaxShadowDepthBufferSizeY
Definition RHIGlobals.h:306
bool SupportsBackBufferWithCustomDepthStencil
Definition RHIGlobals.h:537
FIntVector MaxDispatchThreadGroupsPerDimension
Definition RHIGlobals.h:546
bool SupportsTextureStreaming
Definition RHIGlobals.h:385
bool SupportsMeshShadersTier0
Definition RHIGlobals.h:635
bool SupportsAsyncGetRenderQueryResult
Definition RHIGlobals.h:117
bool TriggerGPUProfile
Definition RHIGlobals.h:373
bool SupportsPixelShaderUAVs
Definition RHIGlobals.h:141
bool SupportsAsyncComputeTransientAliasing
Definition RHIGlobals.h:261
struct FRHIGlobals::FRayTracing RayTracing
bool SupportsHDROutput
Definition RHIGlobals.h:543
bool SupportsMultithreadedShaderCreation
Definition RHIGlobals.h:279
bool SupportsFrameCyclesBubblesRemoval
Definition RHIGlobals.h:174
int32 MinimumWaveSize
Definition RHIGlobals.h:504
Definition AndroidStaticFeatureLevel.inl:12
Definition Optional.h:131
constexpr OptionalType & GetValue()
Definition Optional.h:443
static const TIntVector3 ZeroValue
Definition IntVector.h:45