Bagikan melalui


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.

Runtime mengurai buffer respons yang dikembalikan dan memperbarui struktur data internalnya.

Persyaratan

Persyaratan Nilai
Header d3dhal.h (termasuk D3dhal.h)

Lihat juga

D3DDEVINFO_VCACHE

D3DDP2OP_ISSUEQUERY

D3DDP2OP_RESPONSEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2ISSUEQUERY

D3DHAL_DP2RESPONSE

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2