Compartir a través de


Método ID3D12ShaderReflection::GetRequiresFlags (d3d12shader.h)

Recupera un grupo de marcas que indican los requisitos de un sombreador.

Sintaxis

UINT64 GetRequiresFlags();

Valor devuelto

Tipo: UINT64

Valor que contiene una combinación de una o varias marcas de requisitos #define de sombreador; cada marca especifica un requisito del sombreador. Un valor predeterminado de 0 significa que no hay ningún requisito.

D3D_SHADER_REQUIRES_DOUBLES. El sombreador requiere que el controlador de gráficos y el hardware admitan el tipo de datos doble .

D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL. El sombreador requiere una galería de símbolos de profundidad temprana.

D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE. El sombreador requiere vistas de acceso desordenadas (UAV) en cada fase de canalización.

D3D_SHADER_REQUIRES_64_UAVS. El sombreador requiere 64 UAV.

D3D_SHADER_REQUIRES_MINIMUM_PRECISION. El sombreador requiere que el controlador de gráficos y el hardware admitan la precisión mínima. Para obtener más información, consulta Uso de la precisión mínima de HLSL.

D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS. El sombreador requiere que el controlador de gráficos y el hardware admitan instrucciones dobles extendidas. Para obtener más información, consulta el miembro ExtendedDoublesShaderInstructions de D3D12_FEATURE_DATA_D3D12_OPTIONS.

D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS. El sombreador requiere que el controlador de gráficos y el hardware admitan la función intrínseca msad4 en los sombreadores. Para obtener más información, consulta el miembro SAD4ShaderInstructions de D3D12_FEATURE_DATA_D3D12_OPTIONS.

D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING. El sombreador requiere que el controlador de gráficos y el hardware admitan la compatibilidad con sombras de Direct3D 9.

D3D_SHADER_REQUIRES_TILED_RESOURCES. El sombreador requiere que el controlador de gráficos y el hardware admitan recursos en mosaico.

D3D_SHADER_REQUIRES_STENCIL_REF. El sombreador requiere un valor de referencia para las pruebas de galería de símbolos de profundidad. Para obtener más información, consulta el miembro PSSpecifiedStencilRefSupported de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS y ID3D12GraphicsCommandList::OMSetStencilRef.

D3D_SHADER_REQUIRES_INNER_COVERAGE. El sombreador requiere que el controlador de gráficos y el hardware admitan la cobertura interna. Para obtener más información, consulta las constantes de enumeración D3D_NAME_INNER_COVERAGE y D3D11_NAME_INNER_COVERAGE en D3D_NAME.

D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS. El sombreador requiere que el controlador de gráficos y el hardware admitan la carga de formatos adicionales para vistas de acceso sin ordenar (UAV). Consulte el miembro TypedUAVLoadAdditionalFormats de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS .

D3D_SHADER_REQUIRES_ROVS. El sombreador requiere que el controlador de gráficos y el hardware admitan vistas ordenadas de rasterizador (ROV). Consulte Vistas ordenadas de rasterizador.

D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER. El sombreador requiere que el controlador de gráficos y el hardware admitan la ventanilla y representen los valores de índice de matriz de destino de cualquier rasterizador de alimentación del sombreador. Para obtener más información, consulta el miembro VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS .

D3D_SHADER_REQUIRES_WAVE_OPS. El sombreador requiere que el controlador gráfico y el hardware admitan operaciones de onda. Para obtener más información, consulta el miembro WaveOps de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS1 .

D3D_SHADER_REQUIRES_INT64_OPS. El sombreador requiere que el controlador de gráficos y el hardware admitan operaciones de enteros de 64 bits. Para obtener más información, consulta el miembro Int64ShaderOps de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS1 .

D3D_SHADER_REQUIRES_VIEW_ID. El sombreador requiere que el controlador gráfico y el hardware admitan la creación de instancias de vista mediante SV_ViewID. Para obtener más información, consulta el miembro ViewInstancingTier de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS3 .

D3D_SHADER_REQUIRES_BARYCENTRICS. El sombreador requiere que el controlador de gráficos y el hardware admitan barycéntricos mediante SV_Barycentrics. Para obtener más información, consulta el miembro BarycentricsSupported de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS3 .

D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS. El sombreador requiere que el controlador de gráficos y el hardware admitan operaciones nativas de 16 bits. Para obtener más información, consulta el miembro Native16BitShaderOpsSupported de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS4 .

D3D_SHADER_REQUIRES_SHADING_RATE. El sombreador requiere que el controlador de gráficos y el hardware admitan la característica Variable Shading Rate (VRS). Para obtener más información, consulta el miembro VariableShadingRateTier de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS6 .

D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1. El sombreador requiere que el controlador de gráficos y el hardware admitan dxR nivel 1.1. Para obtener más información, consulta el miembro RaytracingTier de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS5 .

D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK. El sombreador requiere que el controlador de gráficos y el hardware admitan comentarios de Sampler. Para obtener más información, consulta el miembro SamplerFeedbackTier de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS7 .

D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE. El sombreador requiere que el controlador de gráficos y el hardware admitan atómicos int64 en recursos con tipo. Para obtener más información, consulta el miembro AtomicInt64OnTypedResourceSupported de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED. El sombreador requiere que el controlador de gráficos y el hardware admitan atómicos int64 en la memoria compartida de grupo. Para obtener más información, consulta el miembro AtomicInt64OnGroupSharedSupported de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS. El sombreador requiere que el controlador gráfico y el hardware admitan derivados en sombreadores de malla y amplificación. Para obtener más información, consulta el miembro DerivativesInMeshAndAmplificationShadersSupported de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING. El sombreador requiere que el controlador de gráficos y el hardware admitan recursos dinámicos (un requisito para el modelo de sombreador 6.6) y resourceDescriptorHeap en particular. Para obtener más información, consulte la especificación de recursos dinámicos de HLSL en GitHub.

D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING. El sombreador requiere que el controlador de gráficos y el hardware admitan recursos dinámicos (un requisito para shader Model 6.6) y SamplerDescriptorHeap en particular. Para obtener más información, consulte la especificación de recursos dinámicos de HLSL en GitHub.

D3D_SHADER_REQUIRES_WAVE_MMA. El sombreador requiere que el controlador de gráficos y el hardware admitan Wave MMA. Para obtener más información, consulta el miembro WaveMMATier de la estructura de D3D12_FEATURE_DATA_D3D12_OPTIONS9 .

D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE. El sombreador requiere que el controlador de gráficos y el hardware admitan atómicos int64 en los recursos del montón de descriptores. Para obtener más información, consulta el miembro AtomicInt64OnDescriptorHeapResourceSupported de la estructura D3D12_FEATURE_DATA_D3D12_OPTIONS11 .

Comentarios

Este es el modo en que el d3d12shader.h archivo de encabezado define las marcas de requisitos del sombreador:

#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

Requisitos

   
Plataforma de destino Windows
Encabezado d3d12shader.h

Consulte también