D3D12_DESCRIPTOR_HEAP_FLAGS列挙 (d3d12.h)
ヒープのオプションを指定します。
構文
typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS {
D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
} ;
定数
D3D12_DESCRIPTOR_HEAP_FLAG_NONE 値: 0 ヒープの既定の使用法を示します。 |
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE 値: 0x1 フラグ D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE は、必要に応じて記述子ヒープに設定して、シェーダーで参照するためにコマンド リストにバインドされていることを示すことができます。 このフラグを "設定せずに" 作成された記述子ヒープでは、アプリケーションは、便宜上、記述子を CPU メモリにステージングしてからシェーダーに認識される記述子ヒープにコピーすることができます。 ただし、シェーダーに認識される記述子ヒープにアプリケーションが記述子を直接作成しても問題はなく、CPU へのステージングも必要ありません。 ID3D12GraphicsCommandList::SetDescriptorHeaps を介してバインドされた記述子ヒープには、D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE フラグが設定されている必要があります。そうしないと、デバッグ レイヤーでエラーが発生します。 D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE フラグを持つ記述子ヒープは、ID3D12Device::CopyDescriptors または ID3D12Device::CopyDescriptorsSimple の呼び出しではソース ヒープとして使用できません。これは、読み取りが非常に非効率的なWRITE_COMBINEメモリまたは GPU ローカル メモリに存在する可能性があるためです。 このフラグは、CBV/SRV/UAV 記述子ヒープとサンプラー記述子ヒープにのみ適用されます。 それ以外の種類の記述子ヒープには適用されません。それ以外の種類はシェーダーから直接参照されないためです。 D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLEを使用して RTV/DSV ヒープを作成しようとすると、デバッグ レイヤー エラーが発生します。 |
解説
この列挙型は、 D3D12_DESCRIPTOR_HEAP_DESC 構造体によって使用されます。
要件
Header | d3d12.h |