26 uint32 ShaderPropertiesHash;
31 uint32 bIsAndroidOpenGLES : 1;
33 uint32 bSupportsDebugViewShaders : 1;
34 uint32 bSupportsMobileMultiView : 1;
35 uint32 bSupportsArrayTextureCompression : 1;
36 uint32 bSupportsDistanceFields : 1;
37 uint32 bSupportsDiaphragmDOF : 1;
38 uint32 bSupportsRGBColorBuffer : 1;
39 uint32 bSupportsPercentageCloserShadows : 1;
40 uint32 bSupportsIndexBufferUAVs : 1;
41 uint32 bSupportsInstancedStereo : 1;
44 uint32 bSupports4ComponentUAVReadWrite : 1;
45 uint32 bSupportsShaderRootConstants : 1;
46 uint32 bSupportsShaderBundleDispatch : 1;
47 uint32 bSupportsRenderTargetWriteMask : 1;
48 uint32 bSupportsRayTracing : 1;
49 uint32 bSupportsRayTracingCallableShaders : 1;
50 uint32 bSupportsRayTracingProceduralPrimitive : 1;
51 uint32 bSupportsRayTracingTraversalStatistics : 1;
52 uint32 bSupportsRayTracingIndirectInstanceData : 1;
53 uint32 bSupportsRayTracingClusterOps : 1;
54 uint32 bSupportsPathTracing : 1;
55 uint32 bSupportsShaderExecutionReordering : 1;
56 uint32 bSupportsGPUScene : 1;
57 uint32 bSupportsUnrestrictedHalfFloatBuffers : 1;
58 uint32 bSupportsPrimitiveShaders : 1;
59 uint32 bSupportsUInt64ImageAtomics : 1;
60 uint32 bRequiresVendorExtensionsForAtomics : 1;
61 uint32 bSupportsNanite : 1;
62 uint32 bSupportsLumenGI : 1;
63 uint32 bSupportsSSDIndirect : 1;
64 uint32 bSupportsTemporalHistoryUpscale : 1;
65 uint32 bSupportsRTIndexFromVS : 1;
67 uint32 bSupportsWavePermute : 1;
68 uint32 MinimumWaveSize : 8;
69 uint32 MaximumWaveSize : 8;
70 uint32 bSupportsIntrinsicWaveOnce : 1;
71 uint32 bSupportsConservativeRasterization : 1;
72 uint32 bRequiresExplicit128bitRT : 1;
73 uint32 bSupportsGen5TemporalAA : 1;
74 uint32 bTargetsTiledGPU : 1;
75 uint32 bNeedsOfflineCompiler : 1;
76 uint32 bSupportsComputeFramework : 1;
77 uint32 bSupportsAnisotropicMaterials : 1;
78 uint32 bSupportsDualSourceBlending : 1;
79 uint32 bRequiresGeneratePrevTransformBuffer : 1;
80 uint32 bRequiresRenderTargetDuringRaster : 1;
81 uint32 bRequiresDisableForwardLocalLights : 1;
82 uint32 bCompileSignalProcessingPipeline : 1;
83 uint32 bSupportsMeshShadersTier0 : 1;
84 uint32 bSupportsMeshShadersTier1 : 1;
85 uint32 bSupportsMeshShadersWithClipDistance : 1;
86 uint32 MaxMeshShaderThreadGroupSize : 10;
87 uint32 bRequiresUnwrappedMeshShaderArgs : 1;
88 uint32 bSupportsPerPixelDBufferMask : 1;
92 uint32 bSupportsVariableRateShading : 1;
93 uint32 NumberOfComputeThreads : 10;
94 uint32 bWaterUsesSimpleForwardShading : 1;
95 uint32 bSupportsHairStrandGeometry : 1;
96 uint32 bSupportsDOFHybridScattering : 1;
97 uint32 bNeedsExtraMobileFrames : 1;
98 uint32 bSupportsHZBOcclusion : 1;
99 uint32 bSupportsWaterIndirectDraw : 1;
100 uint32 bSupportsAsyncPipelineCompilation : 1;
101 uint32 bSupportsVertexShaderSRVs : 1;
103 uint32 bSupportsTypedBufferSRVs : 1;
104 uint32 bSupportsManualVertexFetch : 1;
105 uint32 bRequiresReverseCullingOnMobile : 1;
106 uint32 bOverrideFMaterial_NeedsGBufferEnabled : 1;
107 uint32 bSupportsFFTBloom : 1;
108 uint32 bSupportsInlineRayTracing : 1;
109 uint32 bInlineRayTracingRequiresBindless : 1;
110 uint32 bSupportsRayTracingShaders : 1;
111 uint32 bSupportsVertexShaderLayer : 1;
112 uint32 bSupportsBindless : 1;
114 uint32 bSupportsVolumeTextureAtomics : 1;
118 uint32 EnablesHLSL2021ByDefault : 2;
119 uint32 bSupportsSceneDataCompressedTransforms : 1;
120 uint32 bIsPreviewPlatform : 1;
121 uint32 bSupportsSwapchainUAVs : 1;
122 uint32 bSupportsClipDistance : 1;
123 uint32 bSupportsNNEShaders: 1;
124 uint32 bSupportsShaderPipelines : 1;
125 uint32 bSupportsUniformBufferObjects : 1;
126 uint32 bRequiresBindfulUtilityShaders : 1;
128 uint32 SupportsBarycentricsIntrinsics : 1;
130 uint32 bSupportsWave64 : 1;
131 uint32 bSupportsIndependentSamplers : 1;
132 uint32 bSupportsWorkGraphs : 1;
133 uint32 bSupportsWorkGraphsTier1_1 : 1;
134 uint32 bSupportsDLSSShaders : 1;
135 uint32 bSupportsAdaptiveGBuffer : 1;
138 uint32 bContainsValidPlatformInfo : 1;
149 RHI_API void SetDefaultValues();
164 return Infos[
Platform].PlatformName;
170 return Infos[
Platform].ShaderFormat;
176 return Infos[
Platform].ShaderPropertiesHash;
227 return Infos[
Platform].MaxFeatureLevel;
257 return Infos[
Platform].bIsAndroidOpenGLES;
263 return Infos[
Platform].bSupportsDebugViewShaders;
269 return Infos[
Platform].bSupportsMobileMultiView;
275 return Infos[
Platform].bSupportsArrayTextureCompression;
281 return Infos[
Platform].bSupportsDistanceFields;
287 return Infos[
Platform].bSupportsDiaphragmDOF;
293 return Infos[
Platform].bSupportsRGBColorBuffer;
299 return Infos[
Platform].bSupportsPercentageCloserShadows;
305 return Infos[
Platform].bSupportsIndexBufferUAVs;
311 return Infos[
Platform].bSupportsInstancedStereo;
323 return Infos[
Platform].bSupportsMSAA;
329 return Infos[
Platform].bSupports4ComponentUAVReadWrite;
335 return Infos[
Platform].bSupportsSwapchainUAVs;
341 return Infos[
Platform].bSupportsShaderRootConstants;
347 return Infos[
Platform].bSupportsShaderBundleDispatch;
353 return Infos[
Platform].bSupportsRenderTargetWriteMask;
359 return Infos[
Platform].bSupportsSceneDataCompressedTransforms;
365 return Infos[
Platform].bSupportsRayTracing;
371 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsRayTracingShaders;
377 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsInlineRayTracing;
383 return Infos[
Platform].bInlineRayTracingRequiresBindless;
389 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsRayTracingCallableShaders;
395 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsRayTracingProceduralPrimitive;
401 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsRayTracingTraversalStatistics;
407 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsRayTracingIndirectInstanceData;
413 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsRayTracingClusterOps;
419 return Infos[
Platform].bSupportsRayTracing && Infos[
Platform].bSupportsPathTracing;
425 return Infos[
Platform].bSupportsShaderExecutionReordering;
431 return Infos[
Platform].bSupportsComputeFramework;
437 return Infos[
Platform].bSupportsAnisotropicMaterials;
443 return Infos[
Platform].bTargetsTiledGPU;
449 return Infos[
Platform].bNeedsOfflineCompiler;
455 return Infos[
Platform].bSupportsUnrestrictedHalfFloatBuffers;
467 return Infos[
Platform].bSupportsWavePermute;
473 return Infos[
Platform].MinimumWaveSize;
479 return Infos[
Platform].MaximumWaveSize;
485 return Infos[
Platform].bSupportsTemporalHistoryUpscale;
491 return Infos[
Platform].bSupportsGPUScene;
497 return Infos[
Platform].bRequiresExplicit128bitRT;
503 return Infos[
Platform].bSupportsPrimitiveShaders;
509 return Infos[
Platform].bSupportsUInt64ImageAtomics;
515 return Infos[
Platform].bRequiresVendorExtensionsForAtomics;
521 return Infos[
Platform].bSupportsNanite;
527 return Infos[
Platform].bSupportsLumenGI;
533 return Infos[
Platform].bSupportsSSDIndirect;
539 return Infos[
Platform].bSupportsRTIndexFromVS;
545 return Infos[
Platform].bSupportsIntrinsicWaveOnce;
551 return Infos[
Platform].bSupportsConservativeRasterization;
557 return Infos[
Platform].bSupportsGen5TemporalAA;
563 return Infos[
Platform].bSupportsDualSourceBlending;
569 return Infos[
Platform].bRequiresGeneratePrevTransformBuffer;
575 return Infos[
Platform].bRequiresRenderTargetDuringRaster;
581 return Infos[
Platform].bRequiresDisableForwardLocalLights;
587 return Infos[
Platform].bCompileSignalProcessingPipeline;
593 return Infos[
Platform].bSupportsMeshShadersTier0;
599 return Infos[
Platform].bSupportsMeshShadersTier1;
605 return Infos[
Platform].bSupportsMeshShadersWithClipDistance;
611 return Infos[
Platform].MaxMeshShaderThreadGroupSize;
617 return Infos[
Platform].bRequiresUnwrappedMeshShaderArgs;
623 return Infos[
Platform].bSupportsPerPixelDBufferMask;
635 return Infos[
Platform].bSupportsDxc;
647 return Infos[
Platform].bSupportsVariableRateShading;
653 return Infos[
Platform].NumberOfComputeThreads;
659 return Infos[
Platform].bWaterUsesSimpleForwardShading;
665 return Infos[
Platform].bSupportsHairStrandGeometry;
671 return Infos[
Platform].bSupportsDOFHybridScattering;
677 return Infos[
Platform].bNeedsExtraMobileFrames;
683 return Infos[
Platform].bSupportsHZBOcclusion;
689 return Infos[
Platform].bSupportsWaterIndirectDraw;
695 return Infos[
Platform].bSupportsAsyncPipelineCompilation;
701 return Infos[
Platform].bSupportsVertexShaderSRVs;
713 return Infos[
Platform].bSupportsTypedBufferSRVs;
719 return Infos[
Platform].bSupportsManualVertexFetch;
725 return Infos[
Platform].bRequiresReverseCullingOnMobile;
731 return Infos[
Platform].bOverrideFMaterial_NeedsGBufferEnabled;
737 return Infos[
Platform].bSupportsFFTBloom;
743 return Infos[
Platform].bSupportsVertexShaderLayer;
749 return Infos[
Platform].bSupportsBindless;
753 UE_DEPRECATED(5.7,
"GetBindlessSupport is now GetSupportsBindless")
768 return Infos[
Platform].bSupportsVolumeTextureAtomics;
773 return Infos[
Platform].bSupportsShaderPipelines;
778 return Infos[
Platform].bSupportsROV;
783 return Infos[
Platform].bSupportsOIT;
788 return Infos[
Platform].bIsPreviewPlatform;
798 return Infos[
Platform].EnablesHLSL2021ByDefault;
804 return Infos[
Platform].bSupportsClipDistance;
810 return Infos[
Platform].bSupportsNNEShaders;
816 return Infos[
Platform].bSupportsUniformBufferObjects;
822 return Infos[
Platform].bRequiresBindfulUtilityShaders;
834 return Infos[
Platform].SupportsBarycentricsIntrinsics;
846 return Infos[
Platform].bSupportsWave64;
852 return Infos[
Platform].bSupportsIndependentSamplers;
858 return Infos[
Platform].bSupportsWorkGraphs;
864 return Infos[
Platform].bSupportsWorkGraphsTier1_1;
870 return Infos[
Platform].bSupportsDLSSShaders;
876 return Infos[
Platform].bSupportsAdaptiveGBuffer;
881 return Infos[
Platform].bContainsValidPlatformInfo;
897 Infos[
Platform].ShaderFormat = ShaderFormat;
906#if USE_STATIC_SHADER_PLATFORM_ENUMS || USE_STATIC_FEATURE_LEVEL_ENUMS || USE_STATIC_SHADER_PLATFORM_INFO
908#define IMPLEMENT_DDPSPI_SETTING_WITH_RETURN_TYPE(ReturnType, Function, Value) \
909 static inline const ReturnType Function(const FStaticShaderPlatform Platform) \
911 checkSlow(!FGenericDataDrivenShaderPlatformInfo::IsValid(Platform) || FGenericDataDrivenShaderPlatformInfo::Function(Platform) == Value); \
914#define IMPLEMENT_DDPSPI_SETTING(Function, Value) IMPLEMENT_DDPSPI_SETTING_WITH_RETURN_TYPE(bool, Function, Value)
916#include COMPILED_PLATFORM_HEADER(DataDrivenShaderPlatformInfo.inl)
1039 return FDataDrivenShaderPlatformInfo::GetPreviewShaderPlatformParent(
Platform);
1262UE_DEPRECATED(5.7,
"RHIGetBindlessSupport is deprecated in favor of FDataDrivenShaderPlatformInfo::GetSupportsBindless")
#define check(expr)
Definition AssertionMacros.h:314
#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
const bool
Definition NetworkReplayStreaming.h:178
ERHIStaticShaderBindingLayoutSupport
Definition RHIDefinitions.h:193
ERHIFeatureSupport
Definition RHIDefinitions.h:169
Definition ConfigCacheIni.h:407
Definition NameTypes.h:617
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Type
Definition RHIFeatureLevel.h:20
@ SM5
Definition RHIFeatureLevel.h:42
@ SM6
Definition RHIFeatureLevel.h:52
@ ES3_1
Definition RHIFeatureLevel.h:25
U16 Index
Definition radfft.cpp:71
static UE_FORCEINLINE_HINT void * Memzero(void *Dest, SIZE_T Count)
Definition UnrealMemory.h:131
Definition AndroidStaticFeatureLevel.inl:12