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 。
- D3DQUERYTYPE_OCCLUSION的 DWORD。 驅動程式會將此 DWORD 設定為查詢開始和結尾之間所有基本類型所通過 z 測試的像素數。 如果深度緩衝區是多重取樣,驅動程式會從樣本數目決定像素數目。 不過,如果顯示裝置能夠每個多重取樣 z 測試精確度,則通常應該四捨五入轉換成圖元的數目。 然後,應用程式可以針對 0 檢查遮蔽結果,以有效地表示「完全遮蔽」。 將多重取樣數量轉換為像素數量的驅動程序應該偵測轉譯目標多重取樣變更,並繼續適當地計算查詢結果。
規格需求
需求 | 值 |
---|---|
標頭 | d3dhal.h (包含 D3dhal.h) |
另請參閱
D3DDP2OP_CREATEQUERY