struktur D3DHAL_DP2RESPONSEQUERY (d3dhal.h)
DirectX 9.0 dan versi yang lebih baru saja.
Satu atau beberapa struktur D3DHAL_DP2RESPONSEQUERY diurai dari buffer respons oleh runtime setelah runtime memanggil panggilan balik D3dDrawPrimitives2 . Driver mengatur anggota bCommand struktur D3DHAL_DP2RESPONSE ke D3DDP2OP_RESPONSEQUERY untuk menunjukkan bahwa respons terhadap kueri yang dikeluarkan sebelumnya tersedia di buffer respons.
Sintaks
typedef struct _D3DHAL_DP2RESPONSEQUERY {
DWORD dwQueryID;
DWORD dwSize;
} D3DHAL_DP2RESPONSEQUERY;
Anggota
dwQueryID
Mengidentifikasi kueri yang data responsnya tersedia.
dwSize
Menentukan ukuran, dalam byte, informasi kueri yang dikembalikan driver ke runtime.
Keterangan
Runtime menggunakan perintah D3DDP2OP_ISSUEQUERY untuk meminta kueri proses driver. Panggilan balik D3dDrawPrimitives2 driver harus memproses wPrimitiveCount D3DHAL_DP2ISSUEQUERY struktur kueri dari buffer perintah. Nilai wPrimitiveCount ditentukan dalam struktur D3DHAL_DP2COMMAND . Driver mengurai struktur kueri ini dan menerjemahkannya ke perintah khusus perangkat kerasnya.
Jika sebelumnya mengirimkan kueri menggunakan operasi D3DDP2OP_ISSUEQUERY selesai, driver mengatur ukuran buffer respons di anggota dwErrorOffset dari struktur D3DHAL_DRAWPRIMITIVES2DATA dan mengatur anggota ddrval D3DHAL_DRAWPRIMITIVES2DATA ke D3D_OK agar berhasil diselesaikan. Driver juga menimpa buffer perintah masuk dengan buffer respons keluar. Setiap D3DHAL_DP2RESPONSEQUERY dalam buffer respons diikuti oleh data berikut yang terkait dengan kueri:
- BOOL untuk D3DQUERYTYPE_EVENT. Sebelum merespons dengan D3DDP2OP_RESPONSEQUERY untuk suatu peristiwa, driver harus memastikan bahwa unit pemrosesan grafis (GPU) selesai memproses semua operasi D3DHAL_DP2OPERATION yang terkait dengan peristiwa tersebut. Artinya, driver hanya merespons setelah status ISSUE_END peristiwa terjadi. Driver harus selalu mengatur nilai BOOL peristiwa ke TRUE saat merespons.
- DWORD untuk D3DQUERYTYPE_OCCLUSION. Driver mengatur DWORD ini ke jumlah piksel yang lulus uji z untuk semua primitif antara awal dan akhir kueri. Jika buffer kedalaman multisampel, driver menentukan jumlah piksel dari jumlah sampel. Namun, jika perangkat display mampu melakukan akurasi z-test per multi-multisample, konversi ke jumlah piksel umumnya harus dibulatkan. Aplikasi kemudian dapat memeriksa hasil oklusi terhadap 0, untuk secara efektif berarti "sepenuhnya terhalang". Driver yang mengonversi jumlah multisampled menjadi jumlah piksel harus mendeteksi perubahan multisampling target render dan terus menghitung hasil kueri dengan tepat.
-
D3DDEVINFO_VCACHE struktur untuk D3DQUERYTYPE_VCACHE.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3dhal.h (termasuk D3dhal.h) |
Lihat juga
D3DDP2OP_ISSUEQUERY
D3DDP2OP_RESPONSEQUERY