Freigeben über


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

Siehe auch