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 |