ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint-Methode (d3d12.h)
Legt alle Elemente in einer ungeordneten Zugriffssicht (UAV) auf die angegebenen ganzzahligen Werte fest.
Wichtig
Dies verhält sich wie ein Computevorgang, da er nicht in Bezug auf umgebende Arbeiten wie z. B . Dispatch-Aufrufe bestellt wird. Um die Reihenfolge sicherzustellen, müssen bei Bedarf Sperraufrufe vor und/oder nach dem ClearUnorderedAccessViewXxx-Aufruf ausgegeben werden. Bei einigen Treibern kann es vorkommen, dass solche Barrieren nicht erforderlich sind. Implizite Barrieren sind jedoch keine Spezifikationsgarantie. daher kann man sich nicht auf sie verlassen. Dies steht im Gegensatz zu ClearDepthStencilView und ClearRenderTargetView , die (wie DrawXxx-Befehle ) die Befehlslistenreihenfolge berücksichtigen.
Syntax
void ClearUnorderedAccessViewUint(
D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
ID3D12Resource *pResource,
const UINT [4] Values,
UINT NumRects,
const D3D12_RECT *pRects
);
Parameter
ViewGPUHandleInCurrentHeap
Typ: [in] D3D12_GPU_DESCRIPTOR_HANDLE
Ein D3D12_GPU_DESCRIPTOR_HANDLE , der auf einen initialisierten Deskriptor für die ungeordnete Zugriffssicht (UAV) verweist, die gelöscht werden soll. Dieser Deskriptor muss sich in einem Shader-sichtbaren Deskriptorheap befinden, der über SetDescriptorHeaps in der Befehlsliste festgelegt werden muss.
ViewCPUHandle
Typ: [in] D3D12_CPU_DESCRIPTOR_HANDLE
Ein D3D12_CPU_DESCRIPTOR_HANDLE in einem nicht Shader sichtbaren Deskriptorheap, der auf einen initialisierten Deskriptor für die ungeordnete Zugriffssicht (UAV) verweist, die gelöscht werden soll.
Wichtig
Dieser Deskriptor darf sich nicht in einem Shader-sichtbaren Deskriptorheap befinden. Dies ist, um Treibern, die den clear als Hardwarevorgang mit festen Funktionen (statt als Dispatch) implementieren, zu ermöglichen, effizient aus dem Deskriptor zu lesen, da Shader-sichtbare Heaps in WRITE_BACK Arbeitsspeicher erstellt werden können (ähnlich wie D3D12_HEAP_TYPE_UPLOAD Heaptypen), und CPU-Lesevorgänge aus diesem Speichertyp sind unerschwinglich langsam.
pResource
Typ: [in] ID3D12Resource*
Ein Zeiger auf die ID3D12Resource-Schnittstelle , die die zu löschende Ressource unordered-access-view (UAV) darstellt.
Values
Typ: [in] const UINT[4]
Ein 4-Komponenten-Array, das die Werte enthält, mit denen die Ressource unordered-access-view gefüllt werden soll.
NumRects
Typ: [in] UINT
Die Anzahl der Rechtecke im Array, die der pRects-Parameter angibt.
pRects
Typ: [in] const D3D12_RECT*
Ein Array von D3D12_RECT Strukturen für die Rechtecke in der Ressourcenansicht zu löschen. Bei NULLlöscht ClearUnorderedAccessViewUint die gesamte Ressourcenansicht.
Rückgabewert
Keine
Bemerkungen
Laufzeitüberprüfung
Überprüfungsfehler führen dazu, dass der Aufruf von ID3D12GraphicsCommandList::CloseE_INVALIDARG zurückgibt.
Debugebene
Die Debugebene gibt Fehler aus, wenn sich die Eingabewerte außerhalb eines normalisierten Bereichs befinden.
Die Debugebene gibt einen Fehler aus, wenn sich die von der Ansicht referenzierten Unterressourcen nicht im entsprechenden Zustand befinden. Für ClearUnorderedAccessViewUint muss der Zustand D3D12_RESOURCE_STATE_UNORDERED_ACCESS sein.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d12.h |
Bibliothek | D3d12.lib |
DLL | D3d12.dll |