Freigeben über


D3D12DDI_PREDICATION_OP-Enumeration (d3d12umddi.h)

Enthält Werte für Prädication-Vorgangsoptionen. Diese Methode wird verwendet, um anzugeben, dass nachfolgende Videovorgänge und Ressourcenbearbeitungsbefehle nicht tatsächlich ausgeführt werden, wenn die resultierenden Prädikatdaten des Prädikats dem angegebenen Vorgang entsprechen.

Syntax

typedef enum D3D12DDI_PREDICATION_OP {
  D3D12DDI_PREDICATION_OP_EQUAL_ZERO,
  D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO
} ;

Konstanten

 
D3D12DDI_PREDICATION_OP_EQUAL_ZERO
Aktiviert die Prädication, wenn alle Bits in einem 64-Bit-Puffer null (0) sind.
D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO
Aktiviert die Prädication, wenn mindestens einer der 64-Bit-Puffer nicht 0 (0) ist.

Hinweise

Die Prädication ermöglicht es dem Aufrufer, eine if-Anweisung im Befehlspuffer zu haben. Der Befehl ID3D12CommandList::SetPredication markiert den Anfang der if-Anweisung. Die if-Anweisung endet beim nächsten Aufruf von ID3D12CommandList::SetPredication oder beim Schließen der Befehlsliste. Außerdem unterstützt die Prädication nicht geschachtelte if's, else-if oder else. Der Ausdruck, der für das ausgewertet werden soll, wenn als Parameter an den ID3D12*CommandList::SetPredication-Aufruf übergeben wird. Ein Zeiger auf einen 64-Bit-Wert wird als D3D12-Puffer und als 64-Bit-Byteoffset übergeben. Der Vorgang gibt den Vergleich an.

Wenn der Ausdruck als true ausgewertet wird, werden die Befehle in der if-Anweisung nicht ausgeführt.

Der Wert selbst wird erst bestimmt, wenn der Befehl SetPredication auf der GPU ausgeführt wird. Der Wert des Puffers muss vom Befehl SetPredication "erfasst" werden, wenn er auf der GPU ausgeführt wird, sodass nachfolgende Änderungen am Puffer nicht ändern, ob die Befehle in der if-Anweisung ausgeführt werden oder nicht. Der im Puffer gespeicherte Wert kann von überall stammen. Beispiele hierfür sind der Wert der Decodierungsabfragestatistik Status, ein wert, der von einem Shader geschrieben wurde usw.

In einer Befehlsliste können Anwendungen ID3D12*CommandList::SetPredication mit einem NULL-Ressourcenzeiger aufrufen, um die Prädication für nachfolgende Befehle in der Befehlsliste zu deaktivieren. Andernfalls wird der Prädikationszustand auf deaktiviert zurückgesetzt, wenn der Benutzer die Befehlsliste für die Ausführung zurücksetzt, sodass die SetPredication nicht über Befehlslisten hinweg beibehalten wird.

Anforderungen

Anforderung Wert
Header d3d12umddi.h (einschließlich D3d12umddi.h)