Bagikan melalui


struktur D3D12_FEATURE_DATA_D3D12_OPTIONS (d3d12.h)

Menjelaskan opsi fitur Direct3D 12 di driver grafis saat ini.

Sintaks

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;

Anggota

DoublePrecisionFloatShaderOps

Menentukan apakah jenis ganda diizinkan untuk operasi shader. Jika TRUE, jenis ganda diperbolehkan; jika tidak FALSE. Operasi yang didukung setara dengan anggota ExtendedDoublesShaderInstructions Direct3D 11 dari struktur D3D11_FEATURE_DATA_D3D11_OPTIONS .

Untuk menggunakan shader HLSL apa pun yang dikompilasi dengan jenis ganda , runtime harus mengatur DoublePrecisionFloatShaderOps ke TRUE.

OutputMergerLogicOp

Menentukan apakah operasi logika tersedia dalam status campuran. Runtime mengatur anggota ini ke TRUE jika operasi logika tersedia dalam status campuran dan FALSE sebaliknya. Anggota ini FALSE untuk tingkat fitur 9.1, 9.2, dan 9.3. Anggota ini bersifat opsional untuk tingkat fitur 10, 10.1, dan 11. Anggota ini TRUE untuk tingkat fitur 11.1 dan 12.

MinPrecisionSupport

Kombinasi nilai berjenis D3D12_SHADER_MIN_PRECISION_SUPPORT yang digabungkan dengan menggunakan operasi OR bitwise. Nilai yang dihasilkan menentukan tingkat presisi minimum yang didukung driver untuk tahap shader. Nilai nol menunjukkan bahwa driver hanya mendukung presisi 32-bit penuh untuk semua tahap shader.

TiledResourcesTier

Menentukan apakah perangkat keras dan driver mendukung sumber daya berjenjang. Runtime mengatur anggota ini ke nilai yang diketik D3D12_TILED_RESOURCES_TIER yang menunjukkan apakah perangkat keras dan driver mendukung sumber daya ubin dan pada tingkat apa.

ResourceBindingTier

Menentukan tingkat pengikatan sumber daya dukungan perangkat keras dan driver. Runtime mengatur anggota ini ke nilai D3D12_RESOURCE_BINDING_TIER-typed yang menunjukkan tingkat tingkat.

PSSpecifiedStencilRefSupported

Menentukan apakah ref stensil shader piksel didukung. Jika TRUE, ini didukung; jika tidak FALSE.

TypedUAVLoadAdditionalFormats

Menentukan apakah pemuatan format tambahan untuk tampilan akses tidak berurut (UAV) yang di ketik didukung. Jika TRUE, ini didukung; jika tidak FALSE.

ROVsSupported

Menentukan apakah Tampilan Urutan Rasterizer (ROV) didukung. Jika TRUE, mereka didukung; jika tidak FALSE.

ConservativeRasterizationTier

Menentukan tingkat di mana perangkat keras dan driver mendukung rasterisasi konservatif. Runtime mengatur anggota ini ke nilai D3D12_CONSERVATIVE_RASTERIZATION_TIER-typed yang menunjukkan tingkat tingkat.

MaxGPUVirtualAddressBitsPerResource

Jangan gunakan bidang ini; sebagai gantinya, gunakan kueri D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (struktur dengan anggota MaxGPUVirtualAddressBitsPerResource ), yang lebih akurat.

StandardSwizzle64KBSupported

TRUE jika perangkat keras mendukung tekstur dengan pola swizzle standar 64KB. Dukungan untuk pola ini memungkinkan pengoptimalan tekstur nol-salin sambil menyediakan lokalitas yang hampir setara untuk setiap dimensi dalam tekstur. Untuk opsi dan pembatasan lisan tekstur, lihat D3D12_TEXTURE_LAYOUT.

CrossNodeSharingTier

Konstanta enumerasi D3D12_CROSS_NODE_SHARING_TIER yang menentukan tingkat berbagi di seluruh simpul adaptor yang memiliki beberapa simpul, seperti Tingkat 1 Ditiru, Tingkat 1, atau Tingkat 2.

CrossAdapterRowMajorTextureSupported

FALSE berarti perangkat hanya mendukung operasi salin ke dan dari tekstur utama baris adaptor silang. TRUE berarti perangkat mendukung tampilan sumber daya shader, tampilan akses yang tidak diurutkan, dan merender tampilan target tekstur utama baris adaptor silang. "Adaptor silang" berarti antara beberapa adaptor (bahkan dari IHV yang berbeda).

VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation

Apakah indeks array viewport (VP) dan Render Target (RT) dari shader apa pun yang memberi makan rasterizer didukung tanpa emulasi shader geometri. Bandingkan anggota VPAndRTArrayIndexFromAnyShaderFeedingRasterizer dari struktur D3D11_FEATURE_DATA_D3D11_OPTIONS3 . Di ID3D12ShaderReflection::GetRequiresFlags, lihat #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER.

ResourceHeapTier

Menentukan tingkat di mana perangkat keras dan driver memerlukan atribusi heap yang terkait dengan jenis sumber daya. Runtime mengatur anggota ini ke konstanta enumerasi D3D12_RESOURCE_HEAP_TIER .

Keterangan

Lihat D3D12_FEATURE.

Persyaratan

Persyaratan Nilai
Header d3d12.h

Lihat juga

Rasterisasi Konservatif

Struktur Inti

D3D12_FEATURE

Tampilan Yang Diurutkan Rasterizer