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 |