estrutura D3D12_FEATURE_DATA_D3D12_OPTIONS (d3d12.h)

Descreve as opções de recursos do Direct3D 12 no driver de gráficos atual.

Sintaxe

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;

Membros

DoublePrecisionFloatShaderOps

Especifica se tipos duplos são permitidos para operações de sombreador. Se TRUE, tipos duplos serão permitidos; caso contrário , FALSE. As operações com suporte são equivalentes ao membro ExtendedDoublesShaderInstructions do Direct3D 11 da estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS .

Para usar qualquer sombreador HLSL compilado com um tipo duplo , o runtime deve definir DoublePrecisionFloatShaderOps como TRUE.

OutputMergerLogicOp

Especifica se as operações lógicas estão disponíveis no estado de combinação. O runtime define esse membro como TRUE se as operações lógicas estiverem disponíveis no estado de combinação e FALSE caso contrário. Esse membro é FALSE para o nível de recurso 9.1, 9.2 e 9.3. Esse membro é opcional para o nível de recurso 10, 10.1 e 11. Esse membro é TRUE para o nível de recurso 11.1 e 12.

MinPrecisionSupport

Uma combinação de valores de tipo D3D12_SHADER_MIN_PRECISION_SUPPORT que são combinados usando uma operação OR bit a bit. O valor resultante especifica níveis mínimos de precisão aos quais o driver dá suporte para estágios de sombreador. Um valor zero indica que o driver dá suporte apenas à precisão completa de 32 bits para todos os estágios do sombreador.

TiledResourcesTier

Especifica se o hardware e o driver dão suporte a recursos lado a lado. O runtime define esse membro como um valor do tipo D3D12_TILED_RESOURCES_TIER que indica se o hardware e o driver dão suporte a recursos lado a lado e em qual nível de camada.

ResourceBindingTier

Especifica o nível no qual o hardware e o driver dão suporte à associação de recursos. O runtime define esse membro como um valor do tipo D3D12_RESOURCE_BINDING_TIER que indica o nível da camada.

PSSpecifiedStencilRefSupported

Especifica se há suporte para ref de estêncil de sombreador de pixel. Se for TRUE, há suporte para ele; caso contrário , FALSE.

TypedUAVLoadAdditionalFormats

Especifica se há suporte para o carregamento de formatos adicionais para UAVs (exibições de acesso não ordenado) tipados. Se for TRUE, há suporte para ele; caso contrário , FALSE.

ROVsSupported

Especifica se os ROVs ( Exibições de Ordem do Rasterizador ) têm suporte. Se true, eles têm suporte; caso contrário , FALSE.

ConservativeRasterizationTier

Especifica o nível no qual o hardware e o driver dão suporte à rasterização conservadora. O runtime define esse membro como um valor de tipo D3D12_CONSERVATIVE_RASTERIZATION_TIER que indica o nível da camada.

MaxGPUVirtualAddressBitsPerResource

Não use este campo; Em vez disso, use a consulta D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (uma estrutura com um membro MaxGPUVirtualAddressBitsPerResource ), que é mais precisa.

StandardSwizzle64KBSupported

TRUE se o hardware der suporte a texturas com o padrão dewizzle padrão de 64 KB. O suporte para esse padrão permite otimizações de textura de cópia zero, fornecendo localidade quase equilateral para cada dimensão dentro da textura. Para opções e restrições de largura de textura, consulte D3D12_TEXTURE_LAYOUT.

CrossNodeSharingTier

Um D3D12_CROSS_NODE_SHARING_TIER constante de enumeração que especifica o nível de compartilhamento entre nós de um adaptador que tem vários nós, como Camada 1 Emulado, Camada 1 ou Camada 2.

CrossAdapterRowMajorTextureSupported

FALSE significa que o dispositivo dá suporte apenas a operações de cópia de e para texturas principais de linha do adaptador cruzado. TRUE significa que o dispositivo dá suporte a exibições de recursos de sombreador, exibições de acesso não ordenadas e exibições de destino de renderização de texturas principais de linha do adaptador cruzado. "Adaptador cruzado" significa entre vários adaptadores (mesmo de IHVs diferentes).

VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation

Se o índice de matriz de visor (VP) e destino de renderização (RT) de qualquer sombreador que alimenta o rasterizador tem suporte sem emulação de sombreador de geometria. Compare o membro VPAndRTArrayIndexFromAnyShaderFeedingRasterizer da estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS3 . Em ID3D12ShaderReflection::GetRequiresFlags, consulte o #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER.

ResourceHeapTier

Especifica o nível no qual o hardware e o driver exigem atribuição de heap relacionada ao tipo de recurso. O runtime define esse membro como uma constante de enumeração D3D12_RESOURCE_HEAP_TIER .

Comentários

Consulte D3D12_FEATURE.

Requisitos

Requisito Valor
Cabeçalho d3d12.h

Confira também

Rasterização conservativa

Estruturas principais

D3D12_FEATURE

Modos de exibição ordenados do rasterizador