ID3D12ShaderReflection::GetRequiresFlags-Methode (d3d12shader.h)
Ruft eine Gruppe von Flags ab, die die Anforderungen eines Shaders angeben.
Syntax
UINT64 GetRequiresFlags();
Rückgabewert
Typ: UINT64
Ein Wert, der eine Kombination aus mindestens einem Shaderanforderungsflag #define
enthält. Jedes Flag gibt eine Anforderung des Shaders an. Der Standardwert 0 bedeutet, dass es keine Anforderungen gibt.
D3D_SHADER_REQUIRES_DOUBLES. Shader erfordert, dass der Grafiktreiber und die Hardware den doppelten Datentyp unterstützen.
D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL. Shader erfordert eine frühe Tiefenschablone.
D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE. Shader erfordert ungeordnete Zugriffsansichten (UAVs) in jeder Pipelinephase.
D3D_SHADER_REQUIRES_64_UAVS. Shader erfordert 64 UAVs.
D3D_SHADER_REQUIRES_MINIMUM_PRECISION. Shader erfordert den Grafiktreiber und die Hardware, um minimale Genauigkeit zu unterstützen. Weitere Informationen finden Sie unter Verwenden der minimalen HLSL-Genauigkeit.
D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS. Shader erfordert, dass der Grafiktreiber und die Hardware erweiterte Doubles-Anweisungen unterstützen. Weitere Informationen finden Sie im ExtendedDoublesShaderInstructions-Member von D3D12_FEATURE_DATA_D3D12_OPTIONS.
D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS. Shader erfordert, dass der Grafiktreiber und die Hardware die intrinsische Funktion msad4 in Shadern unterstützen. Weitere Informationen finden Sie im SAD4ShaderInstructions-Member von D3D12_FEATURE_DATA_D3D12_OPTIONS.
D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING. Shader erfordert, dass der Grafiktreiber und die Hardware Direct3D 9-Schattenunterstützung unterstützen.
D3D_SHADER_REQUIRES_TILED_RESOURCES. Shader erfordert, dass der Grafiktreiber und die Hardware gekachelte Ressourcen unterstützen.
D3D_SHADER_REQUIRES_STENCIL_REF. Shader erfordert einen Referenzwert für Tiefenschablonentests. Weitere Informationen finden Sie unter PSSpecifiedStencilRefSupported-Member der D3D12_FEATURE_DATA_D3D12_OPTIONS-Struktur und ID3D12GraphicsCommandList::OMSetStencilRef.
D3D_SHADER_REQUIRES_INNER_COVERAGE. Shader erfordert, dass der Grafiktreiber und die Hardware die innere Abdeckung unterstützen. Weitere Informationen finden Sie unter den Enumerationskonstanten, die in D3D_NAME D3D_NAME_INNER_COVERAGE und D3D11_NAME_INNER_COVERAGE.
D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS. Shader erfordert, dass der Grafiktreiber und die Hardware das Laden zusätzlicher Formate für typisierte ungeordnete Zugriffsansichten (UAVs) unterstützen. Weitere Informationen finden Sie im TypedUAVLoadAdditionalFormats-Member der D3D12_FEATURE_DATA_D3D12_OPTIONS-Struktur .
D3D_SHADER_REQUIRES_ROVS. Shader erfordert, dass der Grafiktreiber und die Hardware rasterizergeordnete Ansichten (ROVs) unterstützen. Siehe Rasterizer Geordnete Ansichten.
D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER. Shader erfordert, dass der Grafiktreiber und die Hardware Viewport- und Renderwerte des Zielarrayindexes aus jedem Shaderfütterungs-Rasterizer unterstützen. Weitere Informationen finden Sie im Member VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation der D3D12_FEATURE_DATA_D3D12_OPTIONS-Struktur .
D3D_SHADER_REQUIRES_WAVE_OPS. Shader erfordert, dass der Grafiktreiber und die Hardware Wave Ops unterstützen. Weitere Informationen finden Sie im Element WaveOps der D3D12_FEATURE_DATA_D3D12_OPTIONS1-Struktur .
D3D_SHADER_REQUIRES_INT64_OPS. Shader erfordert, dass der Grafiktreiber und die Hardware 64-Bit-Ganzzahlvorgänge unterstützen. Weitere Informationen finden Sie im Member Int64ShaderOps der D3D12_FEATURE_DATA_D3D12_OPTIONS1-Struktur .
D3D_SHADER_REQUIRES_VIEW_ID. Shader erfordert, dass der Grafiktreiber und die Hardware die Darstellungskorrektur mithilfe von SV_ViewID unterstützen. Weitere Informationen finden Sie im Element ViewInstancingTier der D3D12_FEATURE_DATA_D3D12_OPTIONS3-Struktur .
D3D_SHADER_REQUIRES_BARYCENTRICS. Shader erfordert, dass der Grafiktreiber und die Hardware Barycentrics mit SV_Barycentrics unterstützen. Weitere Informationen finden Sie im Element BarycentricsSupported der D3D12_FEATURE_DATA_D3D12_OPTIONS3-Struktur .
D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS. Shader erfordert, dass der Grafiktreiber und die Hardware native 16-Bit-Vorgänge unterstützen. Weitere Informationen finden Sie im Member Native16BitShaderOpsSupported der D3D12_FEATURE_DATA_D3D12_OPTIONS4-Struktur .
D3D_SHADER_REQUIRES_SHADING_RATE. Shader erfordert, dass der Grafiktreiber und die Hardware das Feature Variable Shading Rate (VRS) unterstützen. Weitere Informationen finden Sie im Element VariableShadingRateTier der D3D12_FEATURE_DATA_D3D12_OPTIONS6-Struktur .
D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1. Shader erfordert, dass der Grafiktreiber und die Hardware DXR-Ebene 1.1 unterstützen. Weitere Informationen finden Sie im Element RaytracingTier der D3D12_FEATURE_DATA_D3D12_OPTIONS5-Struktur .
D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK. Shader erfordert, dass der Grafiktreiber und die Hardware Sampler-Feedback unterstützen. Weitere Informationen finden Sie im Member SamplerFeedbackTier der D3D12_FEATURE_DATA_D3D12_OPTIONS7-Struktur .
D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE. Shader erfordert, dass der Grafiktreiber und die Hardware int64 atomics für typisierte Ressourcen unterstützen. Weitere Informationen finden Sie im Member AtomicInt64OnTypedResourceSupported der D3D12_FEATURE_DATA_D3D12_OPTIONS9-Struktur .
D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED. Shader erfordert, dass der Grafiktreiber und die Hardware int64 Atomics im gruppenbasierten Arbeitsspeicher unterstützen. Weitere Informationen finden Sie im Member AtomicInt64OnGroupSharedSupported der D3D12_FEATURE_DATA_D3D12_OPTIONS9-Struktur .
D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS. Shader erfordert, dass der Grafiktreiber und die Hardware Ableitungen in Mesh- und Verstärkungsshadern unterstützen. Weitere Informationen finden Sie im Member DerivativesInMeshAndAmplificationShadersSupported der D3D12_FEATURE_DATA_D3D12_OPTIONS9-Struktur .
D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING. Shader erfordert, dass der Grafiktreiber und die Hardware dynamische Ressourcen (eine Anforderung für Shadermodell 6.6) und insbesondere resourceDescriptorHeap unterstützen. Weitere Informationen finden Sie in der HLSL-Spezifikation für dynamische Ressourcen auf GitHub.
D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING. Shader erfordert, dass der Grafiktreiber und die Hardware dynamische Ressourcen (eine Anforderung für Shader Model 6.6) und insbesondere samplerDescriptorHeap unterstützen. Weitere Informationen finden Sie in der HLSL-Spezifikation für dynamische Ressourcen auf GitHub.
D3D_SHADER_REQUIRES_WAVE_MMA. Shader erfordert, dass der Grafiktreiber und die Hardware Wave MMA unterstützen. Weitere Informationen finden Sie im Element WaveMMATier der D3D12_FEATURE_DATA_D3D12_OPTIONS9-Struktur .
D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE. Shader erfordert, dass der Grafiktreiber und die Hardware int64 Atomics auf Deskriptor-Heapressourcen unterstützen. Weitere Informationen finden Sie im Member AtomicInt64OnDescriptorHeapResourceSupported der D3D12_FEATURE_DATA_D3D12_OPTIONS11-Struktur .
Bemerkungen
Hier erfahren Sie, wie die d3d12shader.h
Headerdatei die Shaderanforderungen-Flags definiert:
#define D3D_SHADER_REQUIRES_DOUBLES 0x00000001
#define D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL 0x00000002
#define D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE 0x00000004
#define D3D_SHADER_REQUIRES_64_UAVS 0x00000008
#define D3D_SHADER_REQUIRES_MINIMUM_PRECISION 0x00000010
#define D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS 0x00000020
#define D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS 0x00000040
#define D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING 0x00000080
#define D3D_SHADER_REQUIRES_TILED_RESOURCES 0x00000100
#define D3D_SHADER_REQUIRES_STENCIL_REF 0x00000200
#define D3D_SHADER_REQUIRES_INNER_COVERAGE 0x00000400
#define D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00000800
#define D3D_SHADER_REQUIRES_ROVS 0x00001000
#define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x00002000
#define D3D_SHADER_REQUIRES_WAVE_OPS 0x00004000
#define D3D_SHADER_REQUIRES_INT64_OPS 0x00008000
#define D3D_SHADER_REQUIRES_VIEW_ID 0x00010000
#define D3D_SHADER_REQUIRES_BARYCENTRICS 0x00020000
#define D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS 0x00040000
#define D3D_SHADER_REQUIRES_SHADING_RATE 0x00080000
#define D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1 0x00100000
#define D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK 0x00200000
#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE 0x00400000
#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED 0x00800000
#define D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x01000000
#define D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x02000000
#define D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x04000000
#define D3D_SHADER_REQUIRES_WAVE_MMA 0x08000000
#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d12shader.h |