структура 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) |
См. также раздел
D3DDP2OP_CREATEQUERY