ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat 方法 (d3d12.h)
將未排序存取檢視中的所有專案 (UAV) 設定為指定的浮點數。
語法
void ClearUnorderedAccessViewFloat(
D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
ID3D12Resource *pResource,
const FLOAT [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 FLOAT[4]
4 元件陣列,其中包含用來填入未排序存取檢視資源的值。
NumRects
類型:[in] UINT
pRects參數所指定陣列中的矩形數目。
pRects
Type: [in] const D3D12_RECT*
要清除之資源檢視中矩形 的D3D12_RECT 結構陣列。 如果 為 Null, ClearUnorderedAccessViewFloat 會清除整個資源檢視。
傳回值
無
備註
執行階段驗證
對於浮點輸入,執行時間會將反正規化值設定為 0 (,同時保留 NAN) 。
如果您想要將 UAV 清除為特定位模式,請考慮使用 ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint。
驗證失敗會導致呼叫 ID3D12GraphicsCommandList::Close 傳回 E_INVALIDARG。
偵錯層
如果輸入值超出正規化範圍,偵錯層就會發出錯誤。
如果檢視所參考的子資源不是處於適當的狀態,偵錯層就會發出錯誤。 若為 ClearUnorderedAccessViewFloat,狀態必須為 D3D12_RESOURCE_STATE_UNORDERED_ACCESS。
需求
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3d12.lib |
Dll | D3d12.dll |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應