> ## 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

> 現在のグラフィックス ドライバーにおける Direct3D 12 機能オプションを記述します。

現在のグラフィックス ドライバーにおける Direct3D 12 機能オプションを記述します。

## 構文

```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
```

### メンバー

*DoublePrecisionFloatShaderOps*\
型: BOOL

シェーダー操作で **double** 型を許可するかどうかを指定します。
**TRUE** の場合、double 型が許可されます。それ以外の場合は **FALSE**。
サポートされる操作は、Direct3D 11 の [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options) 構造体の **ExtendedDoublesShaderInstructions** メンバーと同等です。

**double** 型でコンパイルされた HLSL シェーダーを使用するには、
ランタイムは **DoublePrecisionFloatShaderOps** を **TRUE** に設定する必要があります。

*OutputMergerLogicOp*\
型: BOOL

ブレンド ステートで論理演算が使用可能かどうかを指定します。ブレンド ステートで論理演算が使用可能な場合、ランタイムはこのメンバーを **TRUE** に設定し、それ以外の場合は **FALSE** に設定します。このメンバーは、機能レベル 9.1、9.2、9.3 では **FALSE** です。機能レベル 10、10.1、11 ではオプションです。機能レベル 11.1 および 12 では **TRUE** です。

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

ビット単位 OR 演算を使用して結合された [D3D12\_SHADER\_MIN\_PRECISION\_SUPPORT](/reference/graphics/d3d12/enums/d3d12_shader_min_precision_support_public) 型の値の組み合わせ。結果の値は、ドライバーがシェーダー ステージに対してサポートする最小精度レベルを指定します。0 の値は、ドライバーがすべてのシェーダー ステージで完全な 32 ビット精度のみをサポートすることを示します。

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

ハードウェアとドライバーがタイル リソースをサポートしているかどうかを指定します。ランタイムはこのメンバーを [D3D12\_TILED\_RESOURCES\_TIER](/reference/graphics/d3d12/enums/d3d12_tiled_resources_tier_public) 型の値に設定し、ハードウェアとドライバーがタイル リソースをサポートしているかどうか、およびどのティア レベルでサポートしているかを示します。

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

ハードウェアとドライバーがリソース バインディングをサポートするレベルを指定します。ランタイムはこのメンバーを [D3D12\_RESOURCE\_BINDING\_TIER](/reference/graphics/d3d12/enums/d3d12_resource_binding_tier_public) 型の値に設定し、ティア レベルを示します。

*PSSpecifiedStencilRefSupported*\
型: BOOL

ピクセル シェーダー ステンシル参照がサポートされているかどうかを指定します。**TRUE** の場合はサポートされており、それ以外の場合は **FALSE**。

*TypedUAVLoadAdditionalFormats*\
型: BOOL

型指定順不同アクセス ビュー (UAV) の追加フォーマットの読み込みがサポートされているかどうかを指定します。
**TRUE** の場合はサポートされており、それ以外の場合は **FALSE**。

*ROVsSupported*\
型: BOOL

[Rasterizer Order Views](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-glossary) (ROV) がサポートされているかどうかを指定します。**TRUE** の場合はサポートされており、それ以外の場合は **FALSE**。

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

ハードウェアとドライバーが保守的ラスタライゼーションをサポートするレベルを指定します。ランタイムはこのメンバーを [D3D12\_CONSERVATIVE\_RASTERIZATION\_TIER](/reference/graphics/d3d12/enums/d3d12_conservative_rasterization_tier_public) 型の値に設定し、ティア レベルを示します。

*MaxGPUVirtualAddressBitsPerResource*\
型: UINT

このフィールドは使用しないでください。代わりに、より正確な [D3D12\_FEATURE\_DATA\_GPU\_VIRTUAL\_ADDRESS\_SUPPORT](/reference/graphics/d3d12/structs/d3d12_feature_data_gpu_virtual_address_support_public) クエリ (**MaxGPUVirtualAddressBitsPerResource** メンバーを持つ構造体) を使用してください。

*StandardSwizzle64KBSupported*\
型: BOOL

ハードウェアが 64KB 標準スウィズル パターンを持つテクスチャをサポートする場合は TRUE。
このパターンのサポートにより、テクスチャ内の各次元でほぼ等辺の局所性を提供しつつ、ゼロコピー テクスチャ最適化が可能になります。
テクスチャ スウィズル オプションと制限については、[D3D12\_TEXTURE\_LAYOUT](/reference/graphics/d3d12_x/enums/d3d12_texture_layout) を参照してください。

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

複数のノードを持つアダプターのノード間での共有レベル (Tier 1 Emulated、Tier 1、Tier 2 など) を指定する [D3D12\_CROSS\_NODE\_SHARING\_TIER](/reference/graphics/d3d12/enums/d3d12_cross_node_sharing_tier_public) 列挙定数。

*CrossAdapterRowMajorTextureSupported*\
型: BOOL

FALSE は、デバイスがクロス アダプター ロウ メジャー テクスチャとの間のコピー操作のみをサポートすることを意味します。
TRUE は、デバイスがクロス アダプター ロウ メジャー テクスチャのシェーダー リソース ビュー、順不同アクセス ビュー、およびレンダー ターゲット ビューをサポートすることを意味します。
「クロス アダプター」とは、複数のアダプター (異なる IHV のものであっても) 間を意味します。

*VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation*\
型: BOOL

ラスタライザーへの供給を行う任意のシェーダーからのビューポート (VP) およびレンダー ターゲット (RT) 配列インデックスが、ジオメトリ シェーダー エミュレーションなしでサポートされるかどうか。
[D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS3](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options3) 構造体の **VPAndRTArrayIndexFromAnyShaderFeedingRasterizer** メンバーと比較してください。
[ID3D12ShaderReflection::GetRequiresFlags](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12shader/nf-d3d12shader-id3d12shaderreflection-getrequiresflags) の #define D3D\_SHADER\_REQUIRES\_VIEWPORT\_AND\_RT\_ARRAY\_INDEX\_FROM\_ANY\_SHADER\_FEEDING\_RASTERIZER を参照してください。

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

ハードウェアとドライバーがリソースの種類に関連するヒープ属性を要求するレベルを指定します。
ランタイムはこのメンバーを [D3D12\_RESOURCE\_HEAP\_TIER](/reference/graphics/d3d12/enums/d3d12_resource_heap_tier_public) 列挙定数に設定します。

## 解説

[D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public) を参照してください。

## 要件

**ヘッダー:** d3d12\_xs.h または d3d12\_x.h\
**ライブラリ:** d3d12\_xs.lib または d3d12\_x.lib\
**サポートされているプラットフォーム**: XBOX Series 本体および XBOX One ファミリ

## 関連項目

[Conservative Rasterization](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/conservative-rasterization)

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

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

[Rasterizer Ordered Views](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/rasterizer-order-views)


## Related topics

- [D3D12_RESOURCE_BINDING_TIER](/ja-jp/reference/graphics/d3d12/enums/d3d12_resource_binding_tier_public.md)
- [D3D12_CONSERVATIVE_RASTERIZATION_TIER](/ja-jp/reference/graphics/d3d12/enums/d3d12_conservative_rasterization_tier_public.md)
- [D3D12_CROSS_NODE_SHARING_TIER](/ja-jp/reference/graphics/d3d12/enums/d3d12_cross_node_sharing_tier_public.md)
- [D3D12_SHADER_MIN_PRECISION_SUPPORT](/ja-jp/reference/graphics/d3d12/enums/d3d12_shader_min_precision_support_public.md)
- [D3D12_FEATURE](/ja-jp/reference/graphics/d3d12/enums/d3d12_feature_public.md)
