Share via


ID3D12ShaderReflection::GetRequiresFlags, méthode (d3d12shader.h)

Récupère un groupe d’indicateurs qui indiquent les exigences d’un nuanceur.

Syntaxe

UINT64 GetRequiresFlags();

Valeur renvoyée

Type : UINT64

Valeur qui contient une combinaison d’un ou plusieurs indicateurs d’exigences #define de nuanceur ; chaque indicateur spécifie une exigence du nuanceur. Une valeur par défaut de 0 signifie qu’il n’y a aucune configuration requise.

D3D_SHADER_REQUIRES_DOUBLES. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge le type de données double .

D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL. Le nuanceur nécessite un gabarit de profondeur précoce.

D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE. Le nuanceur nécessite des vues d’accès non ordonnées (UAV) à chaque étape du pipeline.

D3D_SHADER_REQUIRES_64_UAVS. Le nuanceur nécessite 64 UAV.

D3D_SHADER_REQUIRES_MINIMUM_PRECISION. Le nuanceur nécessite le pilote graphique et le matériel pour prendre en charge une précision minimale. Pour plus d’informations, consultez Utilisation de la précision minimale HLSL.

D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les instructions doubles étendues. Pour plus d’informations, consultez le membre ExtendedDoublesShaderInstructions de D3D12_FEATURE_DATA_D3D12_OPTIONS.

D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge la fonction intrinsèque msad4 dans les nuanceurs. Pour plus d’informations, consultez le membre SAD4ShaderInstructions de D3D12_FEATURE_DATA_D3D12_OPTIONS.

D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge l’ombre Direct3D 9.

D3D_SHADER_REQUIRES_TILED_RESOURCES. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les ressources en mosaïques.

D3D_SHADER_REQUIRES_STENCIL_REF. Le nuanceur nécessite une valeur de référence pour les tests de gabarit de profondeur. Pour plus d’informations, consultez le membre PSSpecifiedStencilRefSupported de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS et ID3D12GraphicsCommandList::OMSetStencilRef.

D3D_SHADER_REQUIRES_INNER_COVERAGE. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge la couverture interne. Pour plus d’informations, consultez les constantes d’énumération D3D_NAME_INNER_COVERAGE et D3D11_NAME_INNER_COVERAGE dans D3D_NAME.

D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge le chargement de formats supplémentaires pour les vues d’accès non ordonnés (UAV) typées. Consultez le membre TypedUAVLoadAdditionalFormats de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS .

D3D_SHADER_REQUIRES_ROVS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les vues triées du rastériseur . Consultez Affichages triés du rastériseur.

D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les valeurs d’index de fenêtre d’affichage et de rendu du tableau cible à partir de n’importe quel rastériseur alimentant le nuanceur. Pour plus d’informations, consultez le membre VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS .

D3D_SHADER_REQUIRES_WAVE_OPS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les opérations wave. Pour plus d’informations, consultez le membre WaveOps de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS1 .

D3D_SHADER_REQUIRES_INT64_OPS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les opérations d’entier 64 bits. Pour plus d’informations, consultez le membre Int64ShaderOps de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS1 .

D3D_SHADER_REQUIRES_VIEW_ID. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge l’instanciation à l’aide de SV_ViewID. Pour plus d’informations, consultez le membre ViewInstancingTier de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS3 .

D3D_SHADER_REQUIRES_BARYCENTRICS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les barycentrics à l’aide de SV_Barycentrics. Pour plus d’informations, consultez le membre BarycentricsSupported de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS3 .

D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les opérations 16 bits natives. Pour plus d’informations, consultez le membre Native16BitShaderOpsSupported de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS4 .

D3D_SHADER_REQUIRES_SHADING_RATE. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge la fonctionnalité de taux d’ombrage variable (VRS). Pour plus d’informations, consultez le membre VariableShadingRateTier de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS6 .

D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge DXR niveau 1.1. Pour plus d’informations, consultez le membre RaytracingTier de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS5 .

D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge sampler Feedback. Pour plus d’informations, consultez le membre SamplerFeedbackTier de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS7 .

D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les atomics int64 sur les ressources typées. Pour plus d’informations, consultez le membre AtomicInt64OnTypedResourceSupported de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les atomics int64 sur la mémoire partagée par groupe. Pour plus d’informations, consultez le membre AtomicInt64OnGroupSharedSupported de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les dérivés dans les nuanceurs de maillage et d’amplification. Pour plus d’informations, consultez le membre DerivativesInMeshAndAmplificationShadersSupported de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les ressources dynamiques (une exigence pour le modèle de nuanceur 6.6) et le ResourceDescriptorHeap en particulier. Pour plus d’informations, consultez la spécification des ressources dynamiques HLSL sur GitHub.

D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les ressources dynamiques (une exigence pour le modèle de nuanceur 6.6) et l’samplerDescriptorHeap en particulier. Pour plus d’informations, consultez la spécification des ressources dynamiques HLSL sur GitHub.

D3D_SHADER_REQUIRES_WAVE_MMA. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge Wave MMA. Pour plus d’informations, consultez le membre WaveMMATier de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE. Le nuanceur nécessite que le pilote graphique et le matériel prennent en charge les atomics int64 sur les ressources de tas de descripteur. Pour plus d’informations, consultez le membre AtomicInt64OnDescriptorHeapResourceSupported de la structure D3D12_FEATURE_DATA_D3D12_OPTIONS11 .

Notes

Voici comment le fichier d’en-tête d3d12shader.h définit les indicateurs d’exigences du nuanceur :

#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

Configuration requise

   
Plateforme cible Windows
En-tête d3d12shader.h

Voir aussi