> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_FEATURE_DATA_D3D12_OPTIONS

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

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

## Sintaxis

```cpp theme={null}
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*\
Tipo: BOOL

Especifica si se permiten los tipos **double** para las operaciones de sombreador.
Si es **TRUE**, se permiten los tipos double; de lo contrario, **FALSE**.
Las operaciones admitidas son equivalentes al miembro **ExtendedDoublesShaderInstructions** de Direct3D 11 de la estructura [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options).

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

*OutputMergerLogicOp*\
Tipo: BOOL

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

*MinPrecisionSupport*\
Tipo: D3D12\_SHADER\_MIN\_PRECISION\_SUPPORT

Una combinación de valores de tipo [D3D12\_SHADER\_MIN\_PRECISION\_SUPPORT](/reference/graphics/d3d12/enums/d3d12_shader_min_precision_support_public) que se combinan mediante una operación OR bit a bit. El valor resultante especifica los niveles de precisión mínima que el controlador admite para las fases de sombreador. Un valor de cero indica que el controlador solo admite la precisión completa de 32 bits para todas las fases de sombreador.

*TiledResourcesTier*\
Tipo: D3D12\_TILED\_RESOURCES\_TIER

Especifica si el hardware y el controlador admiten los recursos en mosaico. El entorno de ejecución establece este miembro en un valor de tipo [D3D12\_TILED\_RESOURCES\_TIER](/reference/graphics/d3d12/enums/d3d12_tiled_resources_tier_public) que indica si el hardware y el controlador admiten los recursos en mosaico y en qué nivel.

*ResourceBindingTier*\
Tipo: D3D12\_RESOURCE\_BINDING\_TIER

Especifica el nivel en el que el hardware y el controlador admiten el enlace de recursos. El entorno de ejecución establece este miembro en un valor de tipo [D3D12\_RESOURCE\_BINDING\_TIER](/reference/graphics/d3d12/enums/d3d12_resource_binding_tier_public) que indica el nivel.

*PSSpecifiedStencilRefSupported*\
Tipo: BOOL

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

*TypedUAVLoadAdditionalFormats*\
Tipo: BOOL

Especifica si se admite la carga de formatos adicionales para las vistas de acceso desordenado (UAV) con tipo.
Si es **TRUE**, se admite; de lo contrario, **FALSE**.

*ROVsSupported*\
Tipo: BOOL

Especifica si se admiten las [vistas ordenadas del rasterizador](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-glossary) (ROV). Si es **TRUE**, se admiten; de lo contrario, **FALSE**.

*ConservativeRasterizationTier*\
Tipo: D3D12\_CONSERVATIVE\_RASTERIZATION\_TIER

Especifica el nivel en el que el hardware y el controlador admiten la rasterización conservadora. El entorno de ejecución establece este miembro en un valor de tipo [D3D12\_CONSERVATIVE\_RASTERIZATION\_TIER](/reference/graphics/d3d12/enums/d3d12_conservative_rasterization_tier_public) que indica el nivel.

*MaxGPUVirtualAddressBitsPerResource*\
Tipo: UINT

No use este campo; en su lugar, use la consulta [D3D12\_FEATURE\_DATA\_GPU\_VIRTUAL\_ADDRESS\_SUPPORT](/reference/graphics/d3d12/structs/d3d12_feature_data_gpu_virtual_address_support_public)
(una estructura con un miembro **MaxGPUVirtualAddressBitsPerResource**), que es más precisa.

*StandardSwizzle64KBSupported*\
Tipo: BOOL

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 textura de copia cero al tiempo que proporciona una localidad casi equilátera para cada dimensión dentro de la textura.
Para conocer las opciones y restricciones de swizzle de textura, consulte [D3D12\_TEXTURE\_LAYOUT](/reference/graphics/d3d12_x/enums/d3d12_texture_layout).

*CrossNodeSharingTier*\
Tipo: D3D12\_CROSS\_NODE\_SHARING\_TIER

Una constante de enumeración [D3D12\_CROSS\_NODE\_SHARING\_TIER](/reference/graphics/d3d12/enums/d3d12_cross_node_sharing_tier_public) que especifica el nivel de uso compartido entre los nodos de un adaptador que tiene varios nodos,
como Nivel 1 emulado, Nivel 1 o Nivel 2.

*CrossAdapterRowMajorTextureSupported*\
Tipo: BOOL

FALSE significa que el dispositivo solo admite operaciones de copia hacia y desde texturas por orden de filas entre adaptadores.
TRUE significa que el dispositivo admite vistas de recursos de sombreador, vistas de acceso desordenado y vistas de destino de representación de texturas por orden de filas entre adaptadores.
"Entre adaptadores" significa entre varios adaptadores (incluso de distintos IHV).

*VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation*\
Tipo: BOOL

Indica si se admiten el índice de matriz de ventanilla (VP) y de destino de representación (RT) desde cualquier sombreador que alimente el rasterizador sin emulación de sombreador de geometría.
Compare con el miembro **VPAndRTArrayIndexFromAnyShaderFeedingRasterizer** de la estructura [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS3](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options3).
En [ID3D12ShaderReflection::GetRequiresFlags](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12shader/nf-d3d12shader-id3d12shaderreflection-getrequiresflags), consulte el #define D3D\_SHADER\_REQUIRES\_VIEWPORT\_AND\_RT\_ARRAY\_INDEX\_FROM\_ANY\_SHADER\_FEEDING\_RASTERIZER.

*ResourceHeapTier*\
Tipo: D3D12\_RESOURCE\_HEAP\_TIER

Especifica el nivel en el que el hardware y el controlador requieren la atribución de montón relacionada con el tipo de recurso.
El entorno de ejecución establece este miembro en una constante de enumeración [D3D12\_RESOURCE\_HEAP\_TIER](/reference/graphics/d3d12/enums/d3d12_resource_heap_tier_public).

## Comentarios

Consulte [D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public).

## Requisitos

**Encabezado:** d3d12\_xs.h o d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib o d3d12\_x.lib\
**Plataformas compatibles**: consolas XBOX Series y familia XBOX One

## Consulte también

[Rasterización conservadora](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/conservative-rasterization)

[Estructuras principales](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)

[D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public)

[Vistas ordenadas del rasterizador](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/rasterizer-order-views)


## Related topics

- [D3D12_CONSERVATIVE_RASTERIZATION_TIER](/es/reference/graphics/d3d12/enums/d3d12_conservative_rasterization_tier_public.md)
- [D3D12_RESOURCE_BINDING_TIER](/es/reference/graphics/d3d12/enums/d3d12_resource_binding_tier_public.md)
- [D3D12_CROSS_NODE_SHARING_TIER](/es/reference/graphics/d3d12/enums/d3d12_cross_node_sharing_tier_public.md)
- [D3D12_SHADER_MIN_PRECISION_SUPPORT](/es/reference/graphics/d3d12/enums/d3d12_shader_min_precision_support_public.md)
- [D3D12_RESOURCE_HEAP_TIER](/es/reference/graphics/d3d12/enums/d3d12_resource_heap_tier_public.md)
