D3DHAL_DP2CREATEQUERY Struktur (d3dhal.h)

Nur DirectX 9.0 und höhere Versionen.

Mindestens eine D3DHAL_DP2CREATEQUERY Strukturen werden vom D3dDrawPrimitives2-Rückruf aus dem Befehlspuffer analysiert, wenn der bCommand-Member der D3DHAL_DP2COMMAND-Struktur auf D3DDP2OP_CREATEQUERY festgelegt ist und zum Erstellen von Ressourcen für Abfragen verwendet wird.

Syntax

typedef struct _D3DHAL_DP2CREATEQUERY {
  DWORD        dwQueryID;
  D3DQUERYTYPE QueryType;
} D3DHAL_DP2CREATEQUERY;

Member

dwQueryID

Identifiziert die Abfrage.

QueryType

Gibt einen Wert aus der D3DQUERYTYPE-Enumeration an, der die Abfragefunktion angibt, für die der Treiber Ressourcen erstellt.

Hinweise

Die Runtime verwendet D3DHAL_DP2CREATEQUERY, um jede Abfrage mit einem eindeutigen Bezeichner und einem Abfragetyp zu identifizieren. Der D3dDrawPrimitives2-Rückruf des Treibers muss wPrimitiveCount D3DHAL_DP2CREATEQUERY Strukturen aus dem Befehlspuffer verarbeiten. Der Wert von wPrimitiveCount wird in der D3DHAL_DP2COMMAND-Struktur angegeben. Der Treiber analysiert diese Strukturen und erstellt Ressourcen für die Abfragen, die er bei Bedarf darstellt.

Der Treiber erstellt Ressourcen für die folgenden Abfragetypen:

  • BOOL für D3DQUERYTYPE_EVENT. Bevor der Treiber mit D3DDP2OP_RESPONSEQUERY für ein Ereignis antwortet, muss der Treiber sicherstellen, dass die Grafikverarbeitungseinheit (GRAPHICS Processing Unit, GPU) alle D3DHAL_DP2OPERATION Vorgänge verarbeitet, die sich auf das Ereignis beziehen. Das heißt, der Treiber antwortet erst, nachdem der ISSUE_END Zustand des Ereignisses auftritt. Der Treiber muss bei der Antwort immer den BOOL-Wert des Ereignisses auf TRUE festlegen.
  • DWORD für D3DQUERYTYPE_OCCLUSION. Der Treiber legt dieses DWORD auf die Anzahl von Pixeln fest, für die der Z-Test für alle Grundtypen zwischen Anfang und Ende der Abfrage bestanden hat. Wenn der Tiefenpuffer multisampled ist, bestimmt der Treiber die Anzahl der Pixel aus der Anzahl der Stichproben. Wenn das Anzeigegerät jedoch in der Lage ist, eine Genauigkeit pro Multisampel z-Test zu erhalten, sollte die Konvertierung in die Anzahl von Pixeln im Allgemeinen aufgerundet werden. Eine Anwendung kann dann das Okklusionsergebnis mit 0 überprüfen, um effektiv "vollständig verdeckt" zu bedeuten. Treiber, die Multisampled-Mengen in Pixelmengen konvertieren, sollten Renderzieländerungen erkennen und die Abfrageergebnisse weiterhin entsprechend berechnen.
  • D3DDEVINFO_VCACHE Struktur für D3DQUERYTYPE_VCACHE.

Anforderungen

Anforderung Wert
Header d3dhal.h (include D3dhal.h)

Weitere Informationen

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2