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

另請參閱

核心列舉

建立描述項堆積

描述項堆積