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 |