struktur DXGKARG_RENDER (d3dkmddi.h)
Struktur DXGKARG_RENDER menjelaskan anggota untuk menghasilkan buffer akses memori langsung (DMA) dari buffer perintah.
Sintaks
typedef struct _DXGKARG_RENDER {
[in] const VOID *pCommand;
[in] UINT CommandLength;
[out] VOID *pDmaBuffer;
[in] UINT DmaSize;
[in] VOID *pDmaBufferPrivateData;
[in] UINT DmaBufferPrivateDataSize;
[in] DXGK_ALLOCATIONLIST *pAllocationList;
[in] UINT AllocationListSize;
[in] D3DDDI_PATCHLOCATIONLIST *pPatchLocationListIn;
[in] UINT PatchLocationListInSize;
[in/out] D3DDDI_PATCHLOCATIONLIST *pPatchLocationListOut;
[in] UINT PatchLocationListOutSize;
[in/out] UINT MultipassOffset;
[in] UINT DmaBufferSegmentId;
[in] PHYSICAL_ADDRESS DmaBufferPhysicalAddress;
} DXGKARG_RENDER;
Anggota
[in] pCommand
Penunjuk ke awal buffer perintah.
[in] CommandLength
Ukuran, dalam byte, dari buffer perintah yang dituju pCommand .
[out] pDmaBuffer
Penunjuk ke awal buffer DMA, yang selaras pada 4 KB. Buffer ini dapat dikirim melalui DMA ke perangkat keras grafis. Sebelum driver miniport tampilan kembali dari fungsi DxgkDdiRender atau DxgkDdiRenderKm , driver harus mengatur pDmaBuffer ke byte kosong berikutnya yang mengikuti byte terakhir yang ditulis driver, atau driver harus menunjuk ke lokasi (satu byte di luar ruang buffer) jika tidak ada lebih banyak ruang yang tersedia. Lokasi ini akan benar jika buffer cukup besar.
[in] DmaSize
Ukuran, dalam byte, dari buffer DMA yang dituju pDmaBuffer .
[in] pDmaBufferPrivateData
Penunjuk ke struktur data privat residen driver yang digunakan untuk menghasilkan buffer DMA yang dituju pDmaBuffer .
[in] DmaBufferPrivateDataSize
Jumlah byte yang tetap berada dalam struktur data privat yang dituju pDmaBufferPrivateData untuk operasi saat ini.
[in] pAllocationList
Array struktur DXGK_ALLOCATIONLIST untuk daftar alokasi yang dirujuk oleh buffer DMA. Setiap alokasi yang dirujuk akan muncul sekali untuk performa optimal.
[in] AllocationListSize
Jumlah elemen yang tersedia dalam array yang ditentukan pAllocationList , yang mewakili jumlah spesifikasi alokasi untuk dikirim melalui DMA ke perangkat keras grafis.
[in] pPatchLocationListIn
Array struktur D3DDDI_PATCHLOCATIONLIST untuk daftar lokasi patch yang disediakan driver tampilan mode pengguna dalam panggilan ke fungsi pfnRenderCb .
[in] PatchLocationListInSize
Jumlah elemen dalam daftar lokasi patch yang ditentukan pPatchLocationListIn .
[in/out] pPatchLocationListOut
Array struktur D3DDDI_PATCHLOCATIONLIST untuk daftar lokasi patch yang diisi driver miniport tampilan. Sebelum driver kembali dari panggilan ke fungsi DxgkDdiRender atau DxgkDdiRenderKm , driver harus mengatur pPatchLocationListOut ke elemen D3DDDI_PATCHLOCATIONLIST berikutnya yang mengikuti elemen D3DDDI_PATCHLOCATIONLIST terakhir yang diperbarui driver.
[in] PatchLocationListOutSize
Jumlah elemen dalam daftar lokasi patch yang ditentukan pPatchLocationListOut . Driver miniport tampilan tidak diperlukan untuk mengisi semua elemen di seluruh daftar; driver hanya boleh menggunakan elemen yang diperlukan untuk menggambarkan lokasi patch dalam buffer DMA.
[in/out] MultipassOffset
Nilai UINT yang menentukan kemajuan operasi penyajian jika fungsi DxgkDdiRender atau DxgkDdiRenderKm driver miniport tampilan harus mengembalikan STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER untuk mendapatkan buffer DMA baru. Ketika fungsi DxgkDdiRender atau DxgkDdiRenderKm driver pertama kali dipanggil dengan buffer perintah baru, MultipassOffset diinisialisasi ke nol. Sebelum driver kembali dari panggilan DxgkDdiRender atau DxgkDdiRenderKm , driver mengatur anggota ini untuk menunjukkan kemajuan terjemahan untuk panggilan DxgkDdiRender atau DxgkDdiRenderKm berikutnya dengan buffer perintah yang sama. Subsistem kernel grafik DirectX tidak mengubah nilai lebih lanjut.
[in] DmaBufferSegmentId
Pengidentifikasi segmen memori tempat buffer DMA di-paged in. Jika pengidentifikasi adalah nol, buffer DMA tidak di-paged dengan benar.
[in] DmaBufferPhysicalAddress
Jenis data PHYSICAL_ADDRESS (yang didefinisikan sebagai LARGE_INTEGER) yang menunjukkan alamat fisik tempat buffer DMA di-paged in. Jika alamat fisik adalah nol, buffer DMA tidak di-paged dengan benar.
Keterangan
Dukungan untuk fungsi DxgkDdiRenderKm ditambahkan dimulai dengan Windows 7 untuk adaptor tampilan yang mendukung Akselerasi Perangkat Keras GDI.
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