D3DHAL_DP2CREATEQUERY structure (d3dhal.h)

DirectX 9.0 et versions ultérieures uniquement.

Une ou plusieurs structures D3DHAL_DP2CREATEQUERY sont analysées à partir de la mémoire tampon de commandes par le rappel D3dDrawPrimitives2 lorsque le membre bCommand de la structure D3DHAL_DP2COMMAND est défini sur D3DDP2OP_CREATEQUERY et sont utilisées pour créer des ressources pour les requêtes.

Syntaxe

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

Membres

dwQueryID

Identifie la requête.

QueryType

Spécifie une valeur de l’énumération D3DQUERYTYPE qui indique la fonctionnalité de requête pour laquelle le pilote crée des ressources.

Remarques

Le runtime utilise D3DHAL_DP2CREATEQUERY pour identifier chaque requête avec un identificateur unique et un type de requête. Le rappel D3dDrawPrimitives2 du pilote doit traiter wPrimitiveCount D3DHAL_DP2CREATEQUERY structures à partir de la mémoire tampon de commandes. La valeur de wPrimitiveCount est spécifiée dans la structure D3DHAL_DP2COMMAND. Le pilote analyse ces structures et crée des ressources pour les requêtes qu’elles représentent si nécessaire.

Le pilote crée des ressources pour les types de requête suivants :

  • BOOL pour D3DQUERYTYPE_EVENT. Avant de répondre avec D3DDP2OP_RESPONSEQUERY pour un événement, le pilote doit s’assurer que l’unité de traitement graphique (GPU) a terminé de traiter toutes les opérations D3DHAL_DP2OPERATION liées à l’événement. Autrement dit, le pilote répond uniquement après l’état ISSUE_END de l’événement. Le pilote doit toujours définir la valeur BOOL de l’événement sur TRUE lors de la réponse.
  • DWORD pour D3DQUERYTYPE_OCCLUSION. Le pilote définit ce DWORD sur le nombre de pixels pour lesquels le test z a réussi pour toutes les primitives entre le début et la fin de la requête. Si la mémoire tampon de profondeur est échantillonnée plusieurs fois, le pilote détermine le nombre de pixels à partir du nombre d’échantillons. Toutefois, si le périphérique d’affichage est capable d’une précision z-test par échantillonnage multiple, la conversion en nombre de pixels doit généralement être arrondie vers le haut. Une application peut ensuite case activée le résultat de l’occlusion par rapport à 0, pour signifier « complètement obluded ». Les pilotes qui convertissent des quantités multi-échantillonnée en quantités de pixels doivent détecter les modifications de multi-échantillonnage de la cible de rendu et continuer à calculer les résultats de la requête de manière appropriée.
  • D3DDEVINFO_VCACHE structure pour D3DQUERYTYPE_VCACHE.

Configuration requise

Condition requise Valeur
En-tête d3dhal.h (inclure D3dhal.h)

Voir aussi

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2