Compartilhar via


estrutura D3DHAL_DP2CREATEQUERY (d3dhal.h)

Somente DirectX 9.0 e versões posteriores.

Uma ou mais estruturas de D3DHAL_DP2CREATEQUERY são analisadas do buffer de comando pelo retorno de chamada D3dDrawPrimitives2 quando o membro bCommand da estrutura D3DHAL_DP2COMMAND é definido como D3DDP2OP_CREATEQUERY e são usados para criar recursos para consultas.

Sintaxe

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

Membros

dwQueryID

Identifica a consulta.

QueryType

Especifica um valor da enumeração D3DQUERYTYPE que indica a funcionalidade de consulta para a qual o driver cria recursos.

Comentários

O runtime usa D3DHAL_DP2CREATEQUERY para identificar cada consulta com um identificador exclusivo e um tipo de consulta. O retorno de chamada D3dDrawPrimitives2 do driver deve processar estruturas de D3DHAL_DP2CREATEQUERY wPrimitiveCount do buffer de comando. O valor de wPrimitiveCount é especificado na estrutura D3DHAL_DP2COMMAND. O driver analisa essas estruturas e cria recursos para as consultas que elas representam conforme necessário.

O driver cria recursos para os seguintes tipos de consulta:

  • BOOL para D3DQUERYTYPE_EVENT. Antes de responder com D3DDP2OP_RESPONSEQUERY para um evento, o driver deve garantir que a GPU (unidade de processamento gráfico) tenha terminado de processar todas as operações D3DHAL_DP2OPERATION relacionadas ao evento. Ou seja, o driver só responde após a ocorrência do estado de ISSUE_END do evento. O driver sempre deve definir o valor BOOL do evento como TRUE ao responder.
  • DWORD para D3DQUERYTYPE_OCCLUSION. O driver define esse DWORD como o número de pixels para os quais o teste z passou para todos os primitivos entre o início e o fim da consulta. Se o buffer de profundidade for de várias amostras, o driver determinará o número de pixels do número de amostras. No entanto, se o dispositivo de exibição for capaz de precisão por teste z de várias várias imagens, a conversão para o número de pixels geralmente deverá ser arredondada para cima. Em seguida, um aplicativo pode marcar o resultado da oclusão em relação a 0, para significar efetivamente "totalmente ocluído". Os drivers que convertem quantidades de várias amostras em quantidades de pixel devem detectar alterações de multiamostragem de destino de renderização e continuar computando os resultados da consulta adequadamente.
  • D3DDEVINFO_VCACHE estrutura para D3DQUERYTYPE_VCACHE.

Requisitos

Requisito Valor
Cabeçalho d3dhal.h (inclua D3dhal.h)

Confira também

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2