estructura D3DHAL_DP2CREATEQUERY (d3dhal.h)

DirectX 9.0 y versiones posteriores solo.

La devolución de llamada D3dDrawPrimitives2 analiza una o varias estructuras de D3DHAL_DP2CREATEQUERY cuando el miembro bCommand de la estructura D3DHAL_DP2COMMAND se establece en D3DDP2OP_CREATEQUERY y se usa para crear recursos para las consultas.

Sintaxis

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

Miembros

dwQueryID

Identifica la consulta.

QueryType

Especifica un valor de la enumeración D3DQUERYTYPE que indica la funcionalidad de consulta para la que el controlador crea recursos.

Comentarios

El tiempo de ejecución usa D3DHAL_DP2CREATEQUERY para identificar cada consulta con un identificador único y un tipo de consulta. La devolución de llamada D3dDrawPrimitives2 del controlador debe procesar las estructuras de wPrimitiveCount D3DHAL_DP2CREATEQUERY desde el búfer de comandos. El valor de wPrimitiveCount se especifica en la estructura D3DHAL_DP2COMMAND. El controlador analiza estas estructuras y crea recursos para las consultas que representan según sea necesario.

El controlador crea recursos para los siguientes tipos de consulta:

  • BOOL para D3DQUERYTYPE_EVENT. Antes de responder con D3DDP2OP_RESPONSEQUERY para un evento, el controlador debe asegurarse de que la unidad de procesamiento de gráficos (GPU) haya terminado de procesar todas las operaciones D3DHAL_DP2OPERATION relacionadas con el evento. Es decir, el controlador solo responde después de que se produzca el estado de ISSUE_END del evento. El controlador siempre debe establecer el valor BOOL del evento en TRUE al responder.
  • DWORD para D3DQUERYTYPE_OCCLUSION. El controlador establece este DWORD en el número de píxeles para los que se ha superado la prueba z para todos los primitivos entre el principio y el final de la consulta. Si el búfer de profundidad es multimuestreo, el controlador determina el número de píxeles del número de muestras. Sin embargo, si el dispositivo de pantalla es capaz de precisión z-test por multimuestra, la conversión al número de píxeles generalmente se debe redondear hacia arriba. Después, una aplicación puede comprobar el resultado de la oclusión en 0, para significar eficazmente "totalmente ocluida". Los controladores que convierten cantidades de muestreo múltiple en cantidades de píxeles deben detectar cambios de muestreo múltiple de destino de representación y continuar calculando los resultados de la consulta correctamente.
  • D3DDEVINFO_VCACHE estructura de D3DQUERYTYPE_VCACHE.

Requisitos

Requisito Valor
Header d3dhal.h (incluya D3dhal.h)

Consulte también

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2