Bagikan melalui


struktur DXGK_CONTEXTINFO (d3dkmddi.h)

Struktur DXGK_CONTEXTINFO menjelaskan konteks perangkat.

Sintaks

typedef struct _DXGK_CONTEXTINFO {
  UINT                  DmaBufferSize;
  UINT                  DmaBufferSegmentSet;
  UINT                  DmaBufferPrivateDataSize;
  UINT                  AllocationListSize;
  UINT                  PatchLocationListSize;
  UINT                  Reserved;
  DXGK_CONTEXTINFO_CAPS Caps;
  ULONG                 PagingCompanionNodeId;
} DXGK_CONTEXTINFO;

Anggota

DmaBufferSize

Ukuran, dalam byte, dari buffer perintah perangkat keras yang dikirim melalui akses memori langsung (DMA) ke unit pemrosesan grafis (GPU).

Buffer DMA dapat tumbuh dan menyusut setelah konteks dibuat; namun, buffer DMA tidak pernah dapat menyusut lebih kecil dari ukuran awal yang ditentukan DmaBufferSize .

DmaBufferSegmentSet

Pengidentifikasi segmen tempat buffer DMA harus dapat diakses oleh GPU.

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.

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, masing-masing.

Daftar alokasi dapat bertambah dan menyusut setelah konteks dibuat; namun, daftar alokasi tidak pernah dapat menyusut lebih kecil dari ukuran awal yang ditentukan AllocationListSize .

Catatan Jika DXGK_CREATECONTEXTFLAGS. GdiContext diatur ke 1, yang berarti bahwa konteks dibuat sebagai konteks khusus GDI, AllocationListSize harus diatur ke nilai 256.
 

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 bertambah dan menyusut setelah konteks dibuat; namun, daftar lokasi patch tidak pernah dapat menyusut lebih kecil dari ukuran awal yang ditentukan PatchLocationListSize .

Reserved

Anggota ini dicadangkan dan harus diatur ke nol.

Anggota ini tersedia dimulai dengan Windows 7.

Caps

Menjelaskan fitur opsional yang didukung oleh konteks.

Didukung dimulai dengan Windows 10.

PagingCompanionNodeId

Menentukan pengidentifikasi mesin berbasis nol dari mesin yang akan digunakan untuk pendamping halaman konteks ini.

Didukung dimulai dengan Windows 10.

Keterangan

Driver miniport tampilan menentukan nilai untuk anggota DmaBufferSize dan AllocationListSize untuk menjamin bahwa:

  • Subsistem grafis Microsoft DirectX hanya dapat menggunakan satu buffer akses memori langsung (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.
Driver miniport tampilan hanya dapat menentukan segmen bukaan di anggota DmaBufferSegmentSet ; jika driver menentukan segmen memori, kegagalan pembuatan konteks terjadi.

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 komputer 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)

Lihat juga

D3DDDI_PATCHLOCATIONLIST

DXGKARG_CREATECONTEXT

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_CREATECONTEXTFLAGS

DxgkDdiPresent

DxgkDdiRender

RECT