структура D3DHAL_DP2CREATEQUERY (d3dhal.h)

Только DirectX 9.0 и более поздних версий.

Одна или несколько D3DHAL_DP2CREATEQUERY структур анализируются из буфера команд с помощью обратного вызова D3dDrawPrimitives2, если член bCommandD3DHAL_DP2COMMAND структуры имеет значение D3DDP2OP_CREATEQUERY, и используются для создания ресурсов для запросов.

Синтаксис

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

Члены

dwQueryID

Идентифицирует запрос.

QueryType

Задает значение из перечисления D3DQUERYTYPE, указывающее возможность запроса, для которой драйвер создает ресурсы.

Комментарии

Среда выполнения использует D3DHAL_DP2CREATEQUERY для идентификации каждого запроса с уникальным идентификатором и типом запроса. Обратный вызов D3dDrawPrimitives2 драйвера должен обрабатывать структуры wPrimitiveCount D3DHAL_DP2CREATEQUERY из буфера команд. Значение wPrimitiveCount указывается в структуре D3DHAL_DP2COMMAND. Драйвер анализирует эти структуры и создает ресурсы для запросов, которые они представляют по мере необходимости.

Драйвер создает ресурсы для следующих типов запросов:

  • BOOL для D3DQUERYTYPE_EVENT. Прежде чем отвечать с D3DDP2OP_RESPONSEQUERY для события, драйвер должен убедиться, что графический процессор (GPU) завершил обработку всех D3DHAL_DP2OPERATION операций, связанных с событием. То есть драйвер отвечает только после возникновения состояния ISSUE_END события. При ответе драйвер должен всегда задавать значение BOOL события в значение TRUE .
  • DWORD для D3DQUERYTYPE_OCCLUSION. Драйвер задает этому параметру DWORD число пикселей, для которого z-тест прошел для всех примитивов между началом и концом запроса. Если буфер глубины имеет несколько дискретных значений, драйвер определяет количество пикселей из числа выборок. Однако если устройство отображения поддерживает точность z-теста с несколькими выборками, преобразование в число пикселей, как правило, следует округлить вверх. Затем приложение может проверка результат окклюзии против 0, чтобы фактически означать "полностью occluded". Драйверы, преобразующие количества с несколькими дискретными данными в пиксели, должны обнаруживать целевые изменения множественной выборки и продолжать вычислять результаты запроса соответствующим образом.
  • D3DDEVINFO_VCACHE структура для D3DQUERYTYPE_VCACHE.

Требования

Требование Значение
Заголовок d3dhal.h (включая D3dhal.h)

См. также раздел

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2