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 callback D3dDrawPrimitives2 quando il membro bCommand della struttura D3DHAL_DP2COMMAND è impostato su D3DDP2OP_CREATEQUERY e vengono usati per creare risorse per le query.

Sintassi

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

Members

dwQueryID

Identifica la query.

QueryType

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

Commenti

Il runtime usa D3DHAL_DP2CREATEQUERY per identificare ogni query con un identificatore univoco e un tipo di query. Il callback D3dDrawPrimitives2 del driver deve elaborare le 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 rappresentate 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 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 dal numero di campioni. Tuttavia, se il dispositivo di visualizzazione è in grado di eseguire la precisione z-test per ogni multisample, la conversione in numero di pixel deve in genere essere arrotondata per enumere. Un'applicazione può quindi controllare il risultato dell'occlusione su 0, per indicare in modo efficace "completamente occluso". I driver che converte le quantità con multicampionamento 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.

Requisiti

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

Vedi anche

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2