estructura D3D12_FEATURE_DATA_D3D12_OPTIONS (d3d12.h)

Describe las opciones de características de Direct3D 12 en el controlador de gráficos actual.

Sintaxis

typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS {
  BOOL                                  DoublePrecisionFloatShaderOps;
  BOOL                                  OutputMergerLogicOp;
  D3D12_SHADER_MIN_PRECISION_SUPPORT    MinPrecisionSupport;
  D3D12_TILED_RESOURCES_TIER            TiledResourcesTier;
  D3D12_RESOURCE_BINDING_TIER           ResourceBindingTier;
  BOOL                                  PSSpecifiedStencilRefSupported;
  BOOL                                  TypedUAVLoadAdditionalFormats;
  BOOL                                  ROVsSupported;
  D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
  UINT                                  MaxGPUVirtualAddressBitsPerResource;
  BOOL                                  StandardSwizzle64KBSupported;
  D3D12_CROSS_NODE_SHARING_TIER         CrossNodeSharingTier;
  BOOL                                  CrossAdapterRowMajorTextureSupported;
  BOOL                                  VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
  D3D12_RESOURCE_HEAP_TIER              ResourceHeapTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS;

Miembros

DoublePrecisionFloatShaderOps

Especifica si se permiten tipos dobles para las operaciones del sombreador. Si es TRUE, se permiten tipos dobles; en caso contrario , FALSE. Las operaciones admitidas son equivalentes al miembro ExtendedDoublesShaderInstructions de Direct3D 11 de la estructura D3D11_FEATURE_DATA_D3D11_OPTIONS .

Para usar cualquier sombreador HLSL compilado con un tipo doble , el tiempo de ejecución debe establecer DoublePrecisionFloatShaderOps en TRUE.

OutputMergerLogicOp

Especifica si las operaciones lógicas están disponibles en estado de combinación. El tiempo de ejecución establece este miembro en TRUE si las operaciones lógicas están disponibles en estado de combinación y FALSE en caso contrario. Este miembro es FALSE para el nivel de característica 9.1, 9.2 y 9.3. Este miembro es opcional para el nivel de característica 10, 10.1 y 11. Este miembro es TRUE para el nivel de característica 11.1 y 12.

MinPrecisionSupport

Combinación de D3D12_SHADER_MIN_PRECISION_SUPPORT valores con tipo que se combinan mediante una operación OR bit a bit. El valor resultante especifica los niveles de precisión mínimos que admite el controlador para las fases del sombreador. Un valor de cero indica que el controlador solo admite precisión completa de 32 bits para todas las fases del sombreador.

TiledResourcesTier

Especifica si el hardware y el controlador admiten recursos en mosaico. El tiempo de ejecución establece este miembro en un valor de tipo D3D12_TILED_RESOURCES_TIER que indica si el hardware y el controlador admiten recursos en mosaico y en qué nivel de nivel.

ResourceBindingTier

Especifica el nivel en el que el hardware y el controlador admiten el enlace de recursos. El tiempo de ejecución establece este miembro en un valor con tipo D3D12_RESOURCE_BINDING_TIER que indica el nivel de nivel.

PSSpecifiedStencilRefSupported

Especifica si se admite la referencia de la galería de símbolos del sombreador de píxeles. Si es TRUE, se admite; en caso contrario , FALSE.

TypedUAVLoadAdditionalFormats

Especifica si se admite la carga de formatos adicionales para vistas de acceso sin ordenar (UAV) con tipo. Si es TRUE, se admite; en caso contrario , FALSE.

ROVsSupported

Especifica si se admiten vistas de orden de rasterizador (ROV). Si es TRUE, se admiten; en caso contrario , FALSE.

ConservativeRasterizationTier

Especifica el nivel en el que el hardware y el controlador admiten la rasterización conservadora. El tiempo de ejecución establece este miembro en un valor con tipo D3D12_CONSERVATIVE_RASTERIZATION_TIER que indica el nivel de nivel.

MaxGPUVirtualAddressBitsPerResource

No use este campo; en su lugar, use la consulta D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (una estructura con un miembro MaxGPUVirtualAddressBitsPerResource ), que es más preciso.

StandardSwizzle64KBSupported

TRUE si el hardware admite texturas con el patrón swizzle estándar de 64 KB. La compatibilidad con este patrón permite optimizaciones de texturas de copia cero, a la vez que proporciona una localidad casi equilaterales para cada dimensión dentro de la textura. Para ver las opciones y restricciones de las texturas, consulte D3D12_TEXTURE_LAYOUT.

CrossNodeSharingTier

Constante de enumeración D3D12_CROSS_NODE_SHARING_TIER que especifica el nivel de uso compartido entre nodos de un adaptador que tiene varios nodos, como el nivel 1 emulado, el nivel 1 o el nivel 2.

CrossAdapterRowMajorTextureSupported

FALSE significa que el dispositivo solo admite operaciones de copia hacia y desde texturas principales de fila entre adaptadores. TRUE significa que el dispositivo admite vistas de recursos de sombreador, vistas de acceso desordenadas y vistas de destino de representación de texturas principales de fila entre adaptadores. "Adaptador cruzado" significa entre varios adaptadores (incluso desde diferentes IHD).

VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation

Si se admite el índice de matriz viewport (VP) y Render Target (RT) de cualquier sombreador que alimente el rasterizador sin emulación del sombreador de geometría. Compare el miembro VPAndRTArrayIndexFromAnyShaderFeedingRasterizer de la estructura D3D11_FEATURE_DATA_D3D11_OPTIONS3 . En ID3D12ShaderReflection::GetRequiresFlags, consulte el #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER.

ResourceHeapTier

Especifica el nivel en el que el hardware y el controlador requieren atribución del montón relacionada con el tipo de recurso. El tiempo de ejecución establece este miembro en una constante de enumeración D3D12_RESOURCE_HEAP_TIER .

Comentarios

Consulte D3D12_FEATURE.

Requisitos

Requisito Valor
Header d3d12.h

Consulte también

Rasterización conservadora

Estructuras principales

D3D12_FEATURE

Vistas ordenadas por el rasterizador