Condividi tramite


struttura D3DHAL_DP2CREATEQUERY (d3dhal.h)

Solo DirectX 9.0 e versioni successive.

Una o più strutture D3DHAL_DP2CREATEQUERY vengono analizzate dal buffer dei comandi dal D3dDrawPrimitives2 callback quando il membro della struttura D3DHAL_DP2COMMAND bCommand è impostato su D3DDP2OP_CREATEQUERY e vengono usate per creare risorse per le query.

Sintassi

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

Membri

dwQueryID

Identifica la query.

QueryType

Specifica un valore dell'enumerazione D3DQUERYTYPE che indica la funzionalità di query per cui il driver crea risorse.

Osservazioni

Il runtime usa D3DHAL_DP2CREATEQUERY per identificare ogni query con un identificatore univoco e un tipo di query. Il callback D3dDrawPrimitives 2 del driver deve elaborare strutture wPrimitiveCount D3DHAL_DP2CREATEQUERY dal buffer dei comandi. Il valore di wPrimitiveCount viene specificato nella struttura D3DHAL_DP2COMMAND. Il driver analizza queste strutture e crea risorse per le query che rappresentano in base alle esigenze.

Il driver crea risorse per i tipi di query seguenti:

  • BOOL per D3DQUERYTYPE_EVENT. Prima di rispondere con D3DDP2OP_RESPONSEQUERY per un evento, il driver deve assicurarsi che l'unità di elaborazione grafica (GPU) venga completata l'elaborazione di tutte le operazioni D3DHAL_DP2OPERATION correlate all'evento. Ovvero, il driver risponde solo dopo che si verifica lo stato di ISSUE_END dell'evento. Il driver deve sempre impostare il valore BOOL dell'evento su TRUE quando risponde.
  • DWORD per D3DQUERYTYPE_OCCLUSION. Il driver imposta questo valore DWORD sul numero di pixel per cui il test z ha superato per tutte le primitive tra l'inizio e la fine della query. Se il buffer di profondità è multicampionato, il driver determina il numero di pixel del numero di campioni. Tuttavia, se il dispositivo di visualizzazione è in grado di eseguire l'accuratezza z-test per multisample, la conversione in numero di pixel deve in genere essere arrotondata. Un'applicazione può quindi controllare il risultato dell'occlusione su 0, in modo da indicare in modo efficace "completamente occluso". I driver che converte le quantità multicampionate in quantità di pixel devono rilevare le modifiche di multicampionamento di destinazione di rendering e continuare a calcolare i risultati della query in modo appropriato.
  • D3DDEVINFO_VCACHE struttura per D3DQUERYTYPE_VCACHE.

Fabbisogno

Requisito Valore
intestazione d3dhal.h (include D3dhal.h)

Vedere anche

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2