D3D12_FEATURE_DATA_D3D12_OPTIONS 結構 (d3d12.h)

說明目前圖形驅動程式中的 Direct3D 12 功能選項。

語法

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;

成員

DoublePrecisionFloatShaderOps

指定著色器作業是否允許 雙精度 浮點數類型。 如果 為TRUE,則允許雙精度浮點數類型;否則為 FALSE。 支援的作業相當於 direct3D 11 的 ExtendedDoublesShaderInstructionsD3D11_FEATURE_DATA_D3D11_OPTIONS 結構 成員。

若要使用以 雙精度 浮點數類型編譯的任何 HLSL 著色器,運行時間必須將 DoublePrecisionFloatShaderOps 設定為 TRUE

OutputMergerLogicOp

指定邏輯作業是否可在混合狀態中使用。 如果邏輯作業可在混合狀態中使用,則運行時間會將此成員設定為 TRUE ,否則為 FALSE 。 此功能層級 9.1、9.2 和 9.3 的成員為 FALSE 。 此功能層級 10、10.1 和 11 是選擇性的成員。 此功能層級 11.1 和 12 的成員為 TRUE

MinPrecisionSupport

使用位 OR 運算結合 的D3D12_SHADER_MIN_PRECISION_SUPPORT型別值組合。 產生的值會指定驅動程序針對著色器階段所支援的最小有效位數層級。 值為零表示驅動程式只支援所有著色器階段的完整 32 位有效位數。

TiledResourcesTier

指定硬體和驅動程式是否支援並排資源。 運行時間會將這個成員設定為 D3D12_TILED_RESOURCES_TIER類型的值,指出硬體和驅動程式是否支援並排資源,以及層級層級。

ResourceBindingTier

指定硬體和驅動程式支援資源系結的層級。 運行時間會將這個成員設定為指出階層層級 的D3D12_RESOURCE_BINDING_TIER型別值。

PSSpecifiedStencilRefSupported

指定是否支援圖元著色器樣板 ref。 如果 為 TRUE,則支援;否則為 FALSE

TypedUAVLoadAdditionalFormats

指定是否支援載入具型別未排序存取檢視的其他格式, (UAV) 。 如果 為 TRUE,則支援;否則為 FALSE

ROVsSupported

指定是否支持 轉譯器順序檢視 (ROV) 。 如果 為 TRUE,則會受到支援;否則為 FALSE

ConservativeRasterizationTier

指定硬體和驅動程式支援保守點陣化的層級。 運行時間會將這個成員設定為指出階層層級 的D3D12_CONSERVATIVE_RASTERIZATION_TIER型別值。

MaxGPUVirtualAddressBitsPerResource

請勿使用此欄位;請改用 D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT查詢 ( 具有 MaxGPUVirtualAddressBitsPerResource 成員) 的結構,更精確。

StandardSwizzle64KBSupported

如果硬體支援具有 64KB 標準撥動模式的紋理,則為 TRUE。 支援此模式可啟用零複製紋理優化,同時為紋理內的每個維度提供近乎相等位置。 如需紋理雜亂選項和限制,請參閱 D3D12_TEXTURE_LAYOUT

CrossNodeSharingTier

D3D12_CROSS_NODE_SHARING_TIER列舉常數,指定具有多個節點之適配卡節點之間的共用層級,例如第 1 層模擬、第 1 層或第 2 層。

CrossAdapterRowMajorTextureSupported

FALSE 表示裝置僅支援跨配接器數據列主要紋理的複製作業。 TRUE 表示裝置支援著色器資源檢視、未排序的存取檢視,以及轉譯跨配接器數據列主要紋理的目標檢視。 「交叉配接器」表示多個適配卡之間 (,甚至是來自不同 IHV) 。

VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation

檢視區 (VP) 和轉譯目標 (RT) 陣列索引是否受到支援,而不支援轉譯器饋送,而不需要幾何著色器模擬。 比較D3D11_FEATURE_DATA_D3D11_OPTIONS3結構的 VPAndRTArrayIndexFromAnyShaderFeedingRasterizer 成員。 在 ID3D12ShaderReflection::GetRequiresFlags中,請參閱 #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER。

ResourceHeapTier

指定硬體和驅動程式需要與資源類型相關的堆積屬性的層級。 運行時間會將這個成員設定為 D3D12_RESOURCE_HEAP_TIER 列舉常數。

備註

請參閱 D3D12_FEATURE

規格需求

需求
標頭 d3d12.h

另請參閱

保守點陣化

核心結構

D3D12_FEATURE

轉譯器排序檢視