ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint 方法 (d3d12.h)
將未排序存取檢視中的所有元素設定為指定的整數值, (UAV) 。
重要
這與計算作業的行為類似,因為計算作業與 分派 呼叫等周圍工作沒有排序。 為了確保排序,必須在 ClearUnorderedAccessViewXxx 呼叫之前和/或之後發出屏障呼叫。 它可能會出現在某些不需要這類障礙的驅動程式上。 但隱含屏障不是規格保證;因此無法依賴它們。 這與 ClearDepthStencilView 和 ClearRenderTargetView 相反, (例如 DrawXxx 命令) ,遵守命令列表順序。
語法
void ClearUnorderedAccessViewUint(
D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
ID3D12Resource *pResource,
const UINT [4] Values,
UINT NumRects,
const D3D12_RECT *pRects
);
參數
ViewGPUHandleInCurrentHeap
類型:[in] D3D12_GPU_DESCRIPTOR_HANDLE
D3D12_GPU_DESCRIPTOR_HANDLE,參考未排序存取檢視的初始化描述元, (要清除的UAV) 。 此描述元必須位於著色器可見描述元堆積中,必須透過 SetDescriptorHeaps 在命令清單中設定。
ViewCPUHandle
類型:[in] D3D12_CPU_DESCRIPTOR_HANDLE
非著色器可見描述元堆積中的 D3D12_CPU_DESCRIPTOR_HANDLE ,參考要清除之未排序存取檢視的初始化描述元 (UAV) 。
重要
這個描述元不得位於著色器可見描述元堆積中。 這可讓實作清楚為固定函式硬體作業的驅動程式 (而不是分派) ,以有效率地從描述元讀取,因為著色器可見堆積可能會在 WRITE_BACK記憶體 ( 類似 D3D12_HEAP_TYPE_UPLOAD 堆積類型) 建立,而從這種類型的記憶體讀取 CPU 則非常緩慢。
pResource
類型: [in] ID3D12Resource*
ID3D12Resource 介面的指標,表示要清除的 unordered-access-view (UAV) 資源。
Values
類型: [in] const UINT[4]
包含值以填滿 unordered-access-view 資源的 4 元件數組。
NumRects
類型:[in] UINT
pRects 參數指定之陣列中的矩形數目。
pRects
類型: [in] const D3D12_RECT*
要清除的資源檢視中矩形的 D3D12_RECT 結構陣列。 如果為 NULL,ClearUnorderedAccessViewUint 會清除整個資源檢視。
傳回值
無
備註
執行階段驗證
驗證失敗會導致呼叫 ID3D12GraphicsCommandList::Close 傳回 E_INVALIDARG。
偵錯層
如果輸入值超出標準化範圍,偵錯層就會發出錯誤。
如果檢視所參考的子資源未處於適當的狀態,偵錯層就會發出錯誤。 針對 ClearUnorderedAccessViewUint,狀態必須 D3D12_RESOURCE_STATE_UNORDERED_ACCESS。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3d12.lib |
Dll | D3d12.dll |