D3DHAL_DP2RESPONSEQUERY estrutura (d3dhal.h)
Somente versões posteriores e DirectX 9.0.
Uma ou mais estruturas de D3DHAL_DP2RESPONSEQUERY são analisadas do buffer de resposta pelo runtime depois que o runtime chama o D3dDrawPrimitives2 retorno de chamada. O driver define o membro do bCommand da estrutura D3DHAL_DP2RESPONSE como D3DDP2OP_RESPONSEQUERY para indicar que as respostas às consultas emitidas anteriormente estão disponíveis no buffer de resposta.
Sintaxe
typedef struct _D3DHAL_DP2RESPONSEQUERY {
DWORD dwQueryID;
DWORD dwSize;
} D3DHAL_DP2RESPONSEQUERY;
Membros
dwQueryID
Identifica a consulta para a qual os dados de resposta estão disponíveis.
dwSize
Especifica o tamanho, em bytes, das informações de consulta que o driver retorna ao runtime.
Observações
O runtime usa o comando D3DDP2OP_ISSUEQUERY para solicitar que o processo de driver consulte. O retorno de chamada D3dDrawPrimitives2 do driver deve processar estruturas de consulta D3DHAL_DP2ISSUEQUERY wPrimitiveCount do buffer de comando. O valor de wPrimitiveCount é especificado na estrutura D3DHAL_DP2COMMAND. O driver analisa essas estruturas de consulta e as converte em seus comandos específicos de hardware.
Se consultas enviadas anteriormente usando a operação de D3DDP2OP_ISSUEQUERY concluída, o driver definirá o tamanho do buffer de resposta no membro dwErrorOffset da estrutura D3DHAL_DRAWPRIMITIVES2DATA e definirá o ddrval membro do D3DHAL_DRAWPRIMITIVES2DATA para D3D_OK para conclusão bem-sucedida. O driver também substitui o buffer de comando de entrada com o buffer de resposta de saída. Cada D3DHAL_DP2RESPONSEQUERY no buffer de resposta é seguido pelos seguintes dados relacionados à consulta:
- BOOL para D3DQUERYTYPE_EVENT. Antes de responder com D3DDP2OP_RESPONSEQUERY para um evento, o driver deve garantir que a GPU (unidade de processamento de elementos gráficos) esteja concluída processando todas as operações D3DHAL_DP2OPERATION relacionadas ao evento. Ou seja, o driver só responde após o estado de ISSUE_END do evento. O driver sempre deve definir o valor BOOL do evento para verdadeiro 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 final da consulta. Se o buffer de profundidade for multisamplado, 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 de teste z por multisampla, a conversão em número de pixels geralmente deverá ser arredondada para cima. Em seguida, um aplicativo pode verificar o resultado da oclusão em relação a 0, para efetivamente significar "totalmente occluded". Os drivers que convertem quantidades multiplataformas em quantidades de pixel devem detectar alterações multisampling de destino de renderização e continuar a calcular os resultados da consulta adequadamente.
-
D3DDEVINFO_VCACHE estrutura para D3DQUERYTYPE_VCACHE.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | d3dhal.h (inclua D3dhal.h) |
Consulte também
D3DDP2OP_ISSUEQUERY
D3DDP2OP_RESPONSEQUERY