struktur DXGK_ALLOCATIONINFO (d3dkmddi.h)

Struktur DXGK_ALLOCATIONINFO menjelaskan parameter untuk membuat alokasi.

Sintaks

typedef struct _DXGK_ALLOCATIONINFO {
  VOID                       *pPrivateDriverData;
  UINT                       PrivateDriverDataSize;
  UINT                       Alignment;
  SIZE_T                     Size;
  SIZE_T                     PitchAlignedSize;
  DXGK_SEGMENTBANKPREFERENCE HintedBank;
  DXGK_SEGMENTPREFERENCE     PreferredSegment;
  UINT                       SupportedReadSegmentSet;
  UINT                       SupportedWriteSegmentSet;
  UINT                       EvictionSegmentSet;
  union {
    UINT MaximumRenamingListLength;
    UINT PhysicalAdapterIndex;
  };
  HANDLE                     hAllocation;
  union {
    DXGK_ALLOCATIONINFOFLAGS         Flags;
    DXGK_ALLOCATIONINFOFLAGS_WDDM2_0 FlagsWddm2;
  };
  DXGK_ALLOCATIONUSAGEHINT   *pAllocationUsageHint;
  UINT                       AllocationPriority;
  DXGK_ALLOCATIONINFOFLAGS2  Flags2;
} DXGK_ALLOCATIONINFO;

Anggota

pPrivateDriverData

[in] Penunjuk ke blok data privat. Data ini untuk setiap alokasi dan berbeda dari anggota pPrivateDriverData dalam struktur DXGKARG_CREATEALLOCATION . Driver tampilan mode pengguna mungkin meneruskan data ini ke driver miniport tampilan. Namun, jika subsistem kernel grafis Microsoft DirectX meneruskan data ini untuk menjelaskan permukaan utama bersama atau lainnya yang dapat dikunci, data diteruskan sebagai elemen pertama array di anggota pAllocationInfo dari DXGKARG_CREATEALLOCATION.

PrivateDriverDataSize

[in] Ukuran, dalam byte, dari blok data privat di pPrivateDriverData.

Alignment

[out] Perataan yang diperlukan, dalam byte, untuk alokasi.

Size

[out] Ukuran, dalam byte, yang diperlukan untuk alokasi. Nilai ukuran diperluas ke kelipatan ukuran halaman host asli (misalnya, 4 KB pada arsitektur x86). Driver miniport tampilan menentukan ukuran alokasi ke manajer memori video.

PitchAlignedSize

[out] Ukuran, dalam byte, dari alokasi ketika terletak di segmen yang selaras dengan nada, yang ditentukan oleh bendera bit-field PitchAlignment di anggota Bendera struktur DXGK_SEGMENTDESCRIPTOR untuk segmen. Jika alokasi tidak didukung di segmen yang selaras dengan pitch (unit pemrosesan grafis [GPU] biasanya tidak mendukung jenis segmen ini), driver harus mengatur nilai dalam PitchAlignedSize ke nol. Jika driver menentukan nilai bukan nol dalam PitchAlignedSize, nilai harus lebih besar dari atau sama dengan nilai dalam anggota Ukuran .

HintedBank

[out] Struktur DXGK_SEGMENTBANKPREFERENCE yang menunjukkan preferensi pemesanan bank yang diminta driver miniport tampilan yang digunakan manajer memori video untuk halaman dalam alokasi. Jika anggota ini ditentukan, manajer memori video menggunakan informasi perbankan tentang segmen yang paling disukai, yang ditentukan oleh anggota SegmentId0 dari struktur DXGK_SEGMENTPREFERENCE yang ditentukan anggota PreferredSegment .

PreferredSegment

[out] Struktur DXGK_SEGMENTPREFERENCE yang menunjukkan pengidentifikasi segmen pilihan yang diminta driver miniport tampilan yang digunakan manajer memori video untuk halaman dalam alokasi.

SupportedReadSegmentSet

[out] Pengidentifikasi segmen bahwa driver miniport tampilan dapat diatur di anggota PreferredSegment untuk operasi baca. Segmen yang ditunjukkan oleh pengidentifikasi ini adalah segmen yang diminta driver miniport tampilan yang digunakan manajer memori video untuk page-in alokasi untuk operasi baca, terlepas dari performanya. Pengaturan bit 0 menunjukkan bahwa segmen pertama didukung, pengaturan bit 1 menunjukkan bahwa segmen kedua didukung, dan sebagainya.

Driver miniport tampilan hanya dapat mengatur preferensi untuk segmen yang didukung untuk operasi baca. Manajer memori video menegaskan apakah driver mencoba mengatur preferensi untuk segmen yang tidak didukung di anggota PreferredSegment .

SupportedWriteSegmentSet

[out] Pengidentifikasi segmen bahwa driver miniport tampilan dapat diatur di anggota PreferredSegment untuk operasi tulis. Segmen yang ditunjukkan oleh pengidentifikasi ini adalah segmen yang diminta driver miniport tampilan yang digunakan manajer memori video untuk page-in alokasi untuk operasi tulis, terlepas dari performanya. Pengaturan bit 0 menunjukkan bahwa segmen pertama didukung, pengaturan bit 1 menunjukkan bahwa segmen kedua didukung, dan sebagainya.

Driver miniport tampilan hanya dapat mengatur preferensi untuk segmen yang didukung untuk operasi tulis. Manajer memori video menegaskan apakah driver mencoba mengatur preferensi untuk segmen yang tidak didukung di anggota PreferredSegment .

EvictionSegmentSet

[out] Pengidentifikasi segmen yang dapat digunakan untuk pengeluaran. Pengaturan bit 0 menunjukkan bahwa segmen pertama dapat digunakan untuk pengeluaran, pengaturan bit 1 menunjukkan bahwa segmen kedua dapat digunakan untuk pengeluaran, dan sebagainya.

Hanya segmen aperture yang dapat ditentukan oleh anggota ini. Jika driver menentukan segmen valid yang akan digunakan untuk pengeluaran, manajer memori video mencoba mengalokasikan sumber daya di segmen aperture tersebut untuk mempercepat proses pengeluaran. Jika driver menentukan 0, manajer memori video memanggil driver untuk mentransfer konten alokasi langsung ke memori sistem yang dikunci halaman tanpa memetakan halaman yang mendasar melalui segmen aperture.

MaximumRenamingListLength

[out] Panjang maksimum daftar penggantian nama untuk alokasi. Untuk informasi selengkapnya tentang daftar penggantian nama, lihat Meminta untuk Mengganti Nama Alokasi.

Dukungan untuk anggota ini dimulai dengan Windows 10 dan WDDM v2.

PhysicalAdapterIndex

[out] Indeks adaptor fisik.

Dukungan untuk anggota ini dimulai dengan Windows 10 dan WDDM v2.

hAllocation

[out] Handel ke alokasi. Driver miniport tampilan harus mengatur anggota ini ke nilai yang dapat digunakan untuk merujuk ke struktur pelacakan privatnya untuk alokasi.

Flags

[out] Struktur DXGK_ALLOCATIONINFOFLAGS yang mengidentifikasi properti untuk alokasi dalam bendera bidang bit. Properti ini menunjukkan jenis alokasi yang akan dibuat. Driver miniport tampilan menentukan bendera ini untuk manajer memori video. Driver yang menargetkan versi WDDM apa pun yang lebih lama dari WDDM 2.0 harus menggunakan Bendera; driver yang menargetkan versi >WDDM = WDDM 2.0 harus menggunakan FlagsWddm2.

FlagsWddm2

[out] Struktur DXGK_ALLOCATIONINFOFLAGS_WDDM2_0 yang mengidentifikasi properti untuk alokasi dalam bendera bidang bit. Properti ini menunjukkan jenis alokasi yang akan dibuat. Driver miniport tampilan menentukan bendera ini untuk manajer memori video. Driver yang menargetkan versi >WDDM = WDDM 2.0 harus menggunakan FlagsWddm2; driver yang menargetkan versi WDDM apa pun yang lebih lama dari WDDM 2.0 harus menggunakan Bendera.

pAllocationUsageHint

[out] Penunjuk ke struktur DXGK_ALLOCATIONUSAGEHINT yang digunakan manajer memori untuk menentukan cara menggunakan alokasi.

AllocationPriority

[out] Nilai UINT yang menentukan tingkat prioritas awal alokasi.

Driver menentukan tingkat prioritas yang sesuai untuk setiap alokasi. Untuk informasi selengkapnya tentang tingkat prioritas, lihat bagian Keterangan dari fungsi pfnSetPriorityCb . Jika tingkat prioritas untuk alokasi tidak menjadi masalah bagi driver, driver harus mengatur semua tingkat prioritas ke D3DDDI_ALLOCATIONPRIORITY_NORMAL. Perhatikan bahwa 0 adalah prioritas alokasi awal yang tidak valid.

Flags2

[out] Struktur DXGK_ALLOCATIONINFOFLAGS2 yang berisi properti tambahan untuk alokasi. Didukung mulai dari Windows 11 (WDDM 3.0).

Keterangan

Dengan WDDM v2, struktur DXGK_ALLOCATIONINFO telah diubah sehingga set segmen baca dan tulis tidak lagi diferensiasi. Selama pembuatan permukaan, manajer memori video akan mengabaikan nilai SupportedReadSegmentSet dan hanya menggunakan set segmen yang disediakan oleh SupportedWriteSegmentSet. Driver harus memastikan bahwa nilai ini secara akurat mewakili set segmen yang dapat digunakan oleh alokasi untuk tujuan yang dimaksudkan.

Mengabaikan set segmen baca yang didukung tidak berarti tidak lagi didukung, tetapi hanya saja seharusnya tidak ada lagi perbedaan antara set ini, dan manajer memori video akan diizinkan untuk memilih segmen yang sesuai untuk alokasi apa pun dari satu set segmen.

Persyaratan

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

Lihat juga

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFOFLAGS

DXGK_ALLOCATIONLIST

DXGK_ALLOCATIONUSAGEHINT

DXGK_SEGMENTBANKPREFERENCE

DXGK_SEGMENTDESCRIPTOR

DXGK_SEGMENTPREFERENCE

DxgkDdiCreateAllocation

DxgkDdiRender

pfnAllocateCb