D3D12_DESCRIPTOR_HEAP_FLAGS列舉 (d3d12.h)
指定堆積的選項。
Syntax
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 結構使用。
需求
標頭 | d3d12.h |