Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt alle Elemente in einer ungeordneten Zugriffsansicht (UAV) auf die angegebenen Float-Werte fest.
Von Bedeutung
Dies verhält sich wie ein Berechnungsvorgang, da er nicht in Bezug auf die umgebende Arbeit wie z . B. Dispatch-Aufrufe sortiert ist. Um die Bestellung sicherzustellen, müssen Barriereanrufe nach Bedarf vor und/oder nach dem ClearUnorderedAccessViewXxx-Aufruf ausgegeben werden. Es kann auf einigen Faktoren vorkommen, dass solche Barrieren nicht notwendig sind. Implizite Barrieren sind jedoch keine Spezifikationsgarantie; so können sie sich nicht verlassen. Dies ist im Gegensatz zu ClearDepthStencilView und ClearRenderTargetView , die (wie DrawXxx-Befehle ) die Reihenfolge der Befehlslisten respektieren.
Syntax
void ClearUnorderedAccessViewFloat(
D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
ID3D12Resource *pResource,
const FLOAT [4] Values,
UINT NumRects,
const D3D12_RECT *pRects
);
Die Parameter
ViewGPUHandleInCurrentHeap
Typ: [in] D3D12_GPU_DESCRIPTOR_HANDLE
Eine D3D12_GPU_DESCRIPTOR_HANDLE , die auf einen initialisierten Deskriptor für die ungeordnete Zugriffsansicht (UAV) verweist, die gelöscht werden soll. Dieser Deskriptor muss sich in einem Shader-Visible-Deskriptor-Heap 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 Deskriptor heap, der auf einen initialisierten Deskriptor für die ungeordnete Zugriffsansicht (UAV) verweist, die gelöscht werden soll.
Von Bedeutung
Dieser Deskriptor darf sich nicht in einem Shader-sichtbaren Deskriptor-Heap befinden. Dies ist die Möglichkeit, Treibern zu ermöglichen, die das Löschen als Hardwarevorgang mit fester Funktion (und nicht als Verteiler) implementieren, um effizient vom Deskriptor zu lesen, da Shader-sichtbare Heaps im WRITE_COMBINE Speicher (ähnlich wie D3D12_HEAP_TYPE_UPLOAD Heap-Typen) erstellt werden können, und CPU-Lesevorgänge aus diesem Speichertyp sind unerschwinglich langsam.
pResource
Typ: [in] ID3D12Resource*
Ein Zeiger auf die ID3D12Resource-Schnittstelle , die die ungeordnete Zugriffsansichtsressource (UAV) darstellt, die gelöscht werden soll.
Values
Typ: [in] const FLOAT[4]
Ein 4-Komponentenarray, das die Werte enthält, mit denen die ungeordnete Access-Ansichtsressource ausgefüllt werden soll.
NumRects
Typ: [in] UINT
Die Anzahl der Rechtecke im Array, das der Parameter pRects angibt.
pRects
Typ: [in] const D3D12_RECT*
Ein Array von D3D12_RECT Strukturen für die Rechtecke in der Ressourcenansicht zu löschen. Wenn NULL, löscht ClearUnorderedAccessViewFloat die gesamte Ressourcenansicht.
Rückgabewert
Nichts
Bemerkungen
Laufzeitüberprüfung
Bei Gleitkommaeingaben legt die Laufzeit denormalisierte Werte auf 0 fest (während NANs beibehalten werden).
Wenn Sie die UAV auf ein bestimmtes Bitmuster löschen möchten, sollten Sie id3D12GraphicsCommandList::ClearUnorderedAccessViewUint verwenden.
Der Überprüfungsfehler führt zum Aufruf von ID3D12GraphicsCommandList::Close returning E_INVALIDARG.
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 untergeordneten Ressourcen, auf die von der Ansicht verwiesen wird, nicht im entsprechenden Zustand befinden. Für ClearUnorderedAccessViewFloat muss der Zustand D3D12_RESOURCE_STATE_UNORDERED_ACCESS sein.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | Fenster |
| Header | d3d12.h |
| Library | D3d12.lib |
| DLL | D3d12.dll |