D3DHAL_DP2CREATEQUERY 结构 (d3dhal.h)

仅限 DirectX 9.0 及更高版本。

当 D3DHAL_DP2COMMAND 结构的 bCommand 成员设置为 D3DDP2OP_CREATEQUERY 并用于创建查询资源时,D3dDrawPrimitives2 回调将从命令缓冲区分析一个或多个D3DHAL_DP2CREATEQUERY结构。

语法

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

成员

dwQueryID

标识查询。

QueryType

指定D3DQUERYTYPE枚举中的值,该值指示驱动程序为其创建资源的查询功能。

注解

运行时使用D3DHAL_DP2CREATEQUERY通过唯一标识符和查询类型来标识每个查询。 驱动程序的 D3dDrawPrimitives2 回调必须从命令缓冲区处理 wPrimitiveCount D3DHAL_DP2CREATEQUERY结构。 wPrimitiveCount 的值在 D3DHAL_DP2COMMAND 结构中指定。 驱动程序分析这些结构,并根据需要为它们表示的查询创建资源。

驱动程序为以下查询类型创建资源:

  • BOOL for D3DQUERYTYPE_EVENT。 在使用D3DDP2OP_RESPONSEQUERY响应事件之前,驱动程序必须确保图形处理单元 (GPU) 已完成处理与事件相关的所有 D3DHAL_DP2OPERATION 操作。 也就是说,驱动程序仅在事件发生ISSUE_END状态后做出响应。 响应时,驱动程序必须始终将事件的 BOOL 值设置为 TRUE
  • DWORD for D3DQUERYTYPE_OCCLUSION。 驱动程序将此 DWORD 设置为 z-test 为查询开始和结束之间的所有基元传递的像素数。 如果深度缓冲区是多重采样的,驱动程序将确定样本数中的像素数。 但是,如果显示设备能够按多重采样 z 测试准确度,则通常应向上舍入到像素数的转换。 然后,应用程序可以针对 0 检查遮挡结果,以有效地表示“完全封闭”。 将多采样数量转换为像素量的驱动程序应检测呈现目标多重采样更改,并继续相应地计算查询结果。
  • D3DQUERYTYPE_VCACHE的D3DDEVINFO_VCACHE 结构。

要求

要求
Header d3dhal.h (包括 D3dhal.h)

另请参阅

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2