Melaporkan kemampuan DirectX 8.0 Style Direct3D

Menanggapi kueri GetDriverInfo2 dengan jenis D3DGDI2_TYPE_GETD3DCAPS8, driver harus menyalin struktur D3DCAPS8 yang diinisialisasi ke bidang lpvData dari struktur DD_GETDRIVERINFODATA . Struktur ini baru untuk DirectX 8.0 dan digunakan untuk kemampuan pelaporan dari driver ke runtime dan dari runtime ke aplikasi.

D3DCAPS8 memiliki bidang yang menjelaskan kedua kemampuan baru DirectX 8.0 dan kemampuan yang diteruskan dari DirectX 7.0. D3DCAPS8 bukan pengganti lengkap untuk kemampuan yang ada. Meskipun struktur ini (bersama dengan informasi format permukaan yang didukung) adalah deskripsi lengkap tentang kemampuan perangkat dari perspektif API, itu tidak cukup untuk DDI. Runtime menggunakan kemampuan DirectDraw yang dilaporkan oleh driver untuk informasi seperti kemampuan permukaan yang didukung (DDSCAPS) meskipun ini tidak diekspos langsung melalui API DirectX 8.0.

Selain itu, driver diharuskan untuk terus melaporkan struktur kemampuan warisan (seperti D3DHAL_D3DEXTENDEDCAPS) karena aplikasi yang menggunakan antarmuka warisan (DirectX 7.0 dan yang lebih lama) terus meminta kemampuan ini. Oleh karena itu, melaporkan batas gaya DirectX 8.0 melalui D3DCAPS8 adalah persyaratan tambahan, daripada pengganti mekanisme pelaporan kemampuan yang ada. Ketika antarmuka DirectX 8.0 digunakan oleh aplikasi, runtime tidak meminta kemampuan D3D yang diperluas seperti D3DHAL_D3DEXTENDEDCAPS jika driver melaporkan kemampuan DirectX 8.0 dengan D3DCAPS8.

D3DCAPS8 dijelaskan dalam dokumentasi DirectX 8.0 SDK. Driver tidak boleh menginisialisasi bidang DeviceType atau AdapterOrdinal . Ini diinisialisasi ke nilai yang sesuai oleh runtime. Driver harus mengatur bidang ini ke nol.