struktur DXGK_SEGMENTDESCRIPTOR (d3dkmddi.h)

Struktur DXGK_SEGMENTDESCRIPTOR berisi informasi tentang segmen yang didukung driver.

Sintaks

typedef struct _DXGK_SEGMENTDESCRIPTOR {
  [out] PHYSICAL_ADDRESS  BaseAddress;
  [out] PHYSICAL_ADDRESS  CpuTranslatedAddress;
  [out] SIZE_T            Size;
  [out] UINT              NbOfBanks;
  [out] SIZE_T            *pBankRangeTable;
  [out] SIZE_T            CommitLimit;
  [out] DXGK_SEGMENTFLAGS Flags;
} DXGK_SEGMENTDESCRIPTOR;

Anggota

[out] BaseAddress

Alamat dasar segmen, sebagaimana ditentukan oleh unit pemrosesan grafis (GPU). Alamat fisik alokasi yang ditentukan manajer memori video di segmen diberi alamat GPU yang diimbangi dari alamat dasar yang ditentukan BaseAddress .

Manajer memori video mengabaikan alamat dasar segmen aperture jenis AGP (di mana bendera bidang bit Agp ditentukan dalam anggota Bendera ) dan sebaliknya menggunakan alamat fisik aktual segmen dalam bukaan AGP, seperti yang ditentukan pada bus tempat GPU berada. Dalam situasi ini, driver dapat menggunakan alamat yang dihasilkan manajer memori video untuk alokasi secara langsung tanpa memerlukan terjemahan.

[out] CpuTranslatedAddress

Alamat dasar segmen, relatif terhadap bus tempat GPU terhubung. Misalnya, ketika GPU terhubung pada bus PCI, CpuTranslatedAddress adalah alamat dasar dari rentang yang dapat digunakan yang ditentukan oleh daftar alamat dasar (BAR) PCI. Driver menentukan alamat ini hanya jika menentukan segmen yang dapat diakses CPU dengan mengatur bendera bit-field CpuVisible di anggota Bendera .

Anggota ini diabaikan untuk segmen aperture, termasuk segmen aperture jenis AGP. Satu-satunya pengecualian terjadi ketika driver tampilan mode pengguna belum menyiapkan alamat virtual alternatif untuk alokasi utama (yaitu, ketika driver belum mengatur UseAlternateVA di anggota Bendera dari struktur D3DDDICB_LOCKFLAGS selama panggilan ke fungsi pfnLockCb ).

Sebelum manajer memori video memetakan alamat virtual ke rentang fisik, manajer memori video menerjemahkan alamat fisik ini berdasarkan tampilan CPU bus dan memberi tahu pengemudi tentang operasi sehingga driver dapat mengatur bukaan untuk mengakses konten segmen di lokasi tertentu.

[out] Size

Ukuran, dalam byte, dari segmen . Ukuran ini harus kelipatan ukuran halaman host asli (misalnya, 4 KB pada arsitektur x86).

Untuk segmen aperture jenis AGP (di mana bendera bit-field Agp ditentukan dalam anggota Bendera ), manajer memori video mengalokasikan ruang bukaan sebanyak mungkin, sehingga anggota ini diabaikan.

[out] NbOfBanks

Jumlah bank di segmen, jika perbankan digunakan (yaitu, jika bendera bit-field UseBanking diatur di anggota Bendera ).

[out] pBankRangeTable

Array nilai yang menunjukkan rentang yang memisahkan setiap bank di segmen. Driver menentukan array ini hanya jika juga mengatur bendera bit-field UseBanking di anggota Bendera .

Array menentukan alamat akhir bank pertama melalui NbOfBanksth bank (yaitu, akhir offset ke dalam segmen untuk setiap bank). Perhatikan hal-hal berikut:

  • Bank berseberangan.

  • Bank pertama mulai mengimbangi nol segmen.

  • Bank terakhir berakhir di akhir segmen, sehingga pengemudi tidak diharuskan untuk menentukan alamat akhir bank terakhir.

[out] CommitLimit

Jumlah maksimum byte yang dapat diterapkan ke segmen. Untuk segmen memori, batas penerapan selalu sama dengan ukuran segmen, yang ditentukan dalam anggota Ukuran . Untuk segmen aperture, driver dapat membatasi jumlah memori yang dapat diterapkan pada segmen pada sistem dengan memori fisik dalam jumlah kecil.

[out] Flags

Struktur DXGK_SEGMENTFLAGS yang mengidentifikasi properti, dalam bendera bit-field, untuk segmen .

Perhatikan bahwa untuk segmen aperture jenis AGP, driver harus secara eksklusif mengatur anggota Agp struktur dalam serikat yang DXGK_SEGMENTFLAGS berisi. Meskipun segmen aperture jenis AGP adalah bukaan dan dapat diakses oleh CPU, jika ada anggota lain yang diatur, adaptor gagal diinisialisasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Header d3dkmddi.h (termasuk D3dkmddi.h)

Lihat juga

D3DDDICB_LOCKFLAGS

DXGKARG_QUERYADAPTERINFO

DXGK_ALLOCATIONINFO

DXGK_QUERYSEGMENTIN

DXGK_QUERYSEGMENTOUT

DXGK_SEGMENTFLAGS

DxgkDdiQueryAdapterInfo

pfnLockCb