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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk