Freigeben über


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

Weitere Informationen

ID3D12GraphicsCommandList-Schnittstelle