struktur DXGK_DEVICEINFO (d3dkmddi.h)
Struktur DXGK_DEVICEINFO menjelaskan parameter yang diperlukan subsistem kernel grafis Microsoft DirectX dari driver miniport tampilan.
Sintaks
typedef struct _DXGK_DEVICEINFO {
[out] UINT DmaBufferSize;
[out] UINT DmaBufferSegmentSet;
[out] UINT DmaBufferPrivateDataSize;
[out] UINT AllocationListSize;
[out] UINT PatchLocationListSize;
[out] DXGK_DEVICEINFOFLAGS Flags;
} DXGK_DEVICEINFO;
Anggota
[out] DmaBufferSize
Ukuran, dalam byte, dari buffer perintah perangkat keras yang dikirim melalui akses memori langsung (DMA) ke perangkat keras.
Buffer DMA dapat tumbuh dan menyusut setelah perangkat dibuat; namun, buffer DMA tidak pernah dapat menyusut lebih kecil dari ukuran awal yang ditentukan DmaBufferSize .
[out] DmaBufferSegmentSet
Pengidentifikasi segmen tempat buffer DMA harus dapat diakses oleh unit pemrosesan grafis (GPU).
[out] DmaBufferPrivateDataSize
Ukuran, dalam byte, dari struktur data pribadi residen pengemudi yang terkait dengan setiap buffer DMA. Memori untuk struktur data privat ini dialokasikan dari kumpulan yang tidak dipagasi. Jika driver menentukan nol dalam DmaBufferPrivateDataSize, tidak ada memori yang dialokasikan untuk struktur data privat.
Struktur data privat yang terkait dengan buffer DMA diinisialisasi ke nol saat buffer DMA dibuat. Selama masa pakai buffer DMA, manajer memori video tidak pernah mengakses struktur data privat yang terkait dengan buffer DMA.
[out] AllocationListSize
Jumlah awal elemen dalam array alokasi (yaitu, array struktur DXGK_ALLOCATIONLIST ). Nomor ini adalah jumlah awal alokasi yang diminta driver untuk berada di anggota pAllocationList dari struktur DXGKARG_PRESENT dan DXGKARG_RENDER dalam panggilan ke fungsi DxgkDdiPresent dan DxgkDdiRender driver.
Daftar alokasi dapat bertambah dan menyusut setelah perangkat dibuat; namun, daftar alokasi tidak pernah dapat menyusut lebih kecil dari ukuran awal yang ditentukan AllocationListSize .
[out] PatchLocationListSize
Jumlah awal elemen dalam array lokasi patch (yaitu, array struktur D3DDDI_PATCHLOCATIONLIST ) untuk perangkat dalam mode pengguna dan mode kernel. Nomor ini adalah jumlah awal lokasi patch yang diminta driver untuk berada di anggota pPatchLocationListIn dari struktur DXGKARG_RENDER dalam panggilan ke fungsi DxgkDdiRender-nya .
Daftar lokasi patch dapat tumbuh dan menyusut setelah perangkat dibuat; namun, daftar lokasi patch tidak pernah dapat menyusut lebih kecil dari ukuran awal yang ditentukan PatchLocationListSize .
[out] Flags
Struktur DXGK_DEVICEINFOFLAGS yang mengidentifikasi, dalam bendera bit-field, informasi tentang perangkat.
Keterangan
Driver miniport tampilan menentukan nilai untuk anggota DmaBufferSize dan AllocationListSize untuk menjamin hal berikut:
- Subsistem grafis DirectX hanya dapat menggunakan satu buffer DMA untuk ditampilkan (dengan menggunakan fungsi DxgkDdiPresent driver miniport tampilan) setidaknya satu struktur RECT untuk semua skenario.
- Ukuran buffer DMA dan daftar alokasi cukup besar untuk menahan setidaknya satu perintah yang tidak dapat dibagi di beberapa buffer.
- Ukuran buffer DMA dan daftar alokasi cukup besar untuk menghindari pengaturan dan overhead DMA.
Jika driver mengatur DmaBufferSegmentSet ke 0, manajer memori video mengalokasikan memori terkunci halaman yang berdekatan, yang dipetakan memori gabungan tulis, untuk buffer DMA. Oleh karena itu, GPU harus mengakses buffer DMA dengan menggunakan siklus PCI pada sistem di mana transfer AGP yang terjadi di luar bukaan AGP tidak diizinkan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Header | d3dkmddi.h (termasuk D3dkmddi.h) |