struktur D3DDDICB_RENDER (d3dumddi.h)
Struktur D3DDDICB_RENDER menjelaskan buffer perintah saat ini yang akan dirender.
Sintaks
typedef struct _D3DDDICB_RENDER {
UINT CommandLength;
UINT CommandOffset;
UINT NumAllocations;
UINT NumPatchLocations;
VOID *pNewCommandBuffer;
UINT NewCommandBufferSize;
D3DDDI_ALLOCATIONLIST *pNewAllocationList;
UINT NewAllocationListSize;
D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
UINT NewPatchLocationListSize;
D3DDDICB_RENDERFLAGS Flags;
HANDLE hContext;
UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
ULONG QueuedBufferCount;
D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_MARKERLOGTYPE MarkerLogType;
UINT RenderCBSequence;
union {
struct {
UINT FirstAPISequenceNumberHigh;
UINT CompletedAPISequenceNumberLow0Size;
UINT CompletedAPISequenceNumberLow1Size;
UINT BegunAPISequenceNumberLow0Size;
UINT BegunAPISequenceNumberLow1Size;
};
UINT BatchedMarkerDataCount;
};
union {
struct {
const UINT *pCompletedAPISequenceNumberLow0;
const UINT *pCompletedAPISequenceNumberLow1;
const UINT *pBegunAPISequenceNumberLow0;
const UINT *pBegunAPISequenceNumberLow1;
};
const D3DDDI_BATCHEDMARKERDATA *pBatchedMarkerData;
};
} D3DDDICB_RENDER;
Anggota
CommandLength
[in] Ukuran, dalam byte, dari buffer perintah, mulai dari offset nol.
CommandOffset
[in] Offset, dalam byte, ke perintah pertama dalam buffer perintah.
NumAllocations
[in] Jumlah elemen dalam daftar alokasi.
NumPatchLocations
[in] Jumlah elemen dalam daftar lokasi patch.
pNewCommandBuffer
[keluar] Penunjuk ke buffer perintah yang diterima driver tampilan mode pengguna untuk digunakan dalam panggilan berikutnya ke fungsi pfnRenderCb .
NewCommandBufferSize
[masuk/keluar] Ukuran, dalam byte, yang diminta driver tampilan mode pengguna untuk buffer perintah berikutnya.
Driver menerima ukuran, dalam byte, dari buffer perintah berikutnya untuk digunakan.
pNewAllocationList
[keluar] Array struktur D3DDDI_ALLOCATIONLIST yang diterima driver tampilan mode pengguna untuk digunakan sebagai daftar alokasi dalam panggilan berikutnya ke fungsi pfnRenderCb .
NewAllocationListSize
[masuk/keluar] Jumlah elemen yang diminta driver tampilan mode pengguna untuk daftar alokasi berikutnya.
Driver menerima jumlah elemen untuk daftar alokasi yang akan tersedia ketika buffer perintah berikutnya dikirimkan.
pNewPatchLocationList
[keluar] Array struktur D3DDDI_PATCHLOCATIONLIST yang diterima driver tampilan mode pengguna untuk digunakan sebagai daftar lokasi patch dalam panggilan berikutnya ke fungsi pfnRenderCb .
NewPatchLocationListSize
[masuk/keluar] Jumlah elemen yang diminta driver tampilan mode pengguna untuk daftar lokasi patch berikutnya.
Driver menerima jumlah elemen untuk daftar lokasi patch yang akan tersedia ketika buffer perintah berikutnya dikirimkan.
Flags
[in] Struktur D3DDDICB_RENDERFLAGS yang menunjukkan informasi tentang buffer perintah yang akan dirender.
hContext
[in] Handel ke konteks tempat driver mengirimkan operasi penyajian. Driver tampilan mode pengguna sebelumnya membuat konteks ini dengan memanggil fungsi pfnCreateContextCb .
BroadcastContextCount
[in] Jumlah konteks tambahan dalam array yang ditentukan anggota BroadcastContext .
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[in] Array handel ke konteks tambahan untuk menyiarkan buffer perintah saat ini. Konstanta D3DDDI_MAX_BROADCAST_CONTEXT, yang didefinisikan sebagai 64, menentukan jumlah maksimum konteks tambahan tempat driver tampilan mode pengguna dapat menyiarkan buffer perintah saat ini.
Konteks asli yang ditentukan anggota hContext dan yang memiliki buffer perintah bukan elemen dalam array BroadcastContext . Misalnya, jika array BroadcastContext berisi satu elemen, driver tampilan mode pengguna mengirimkan buffer perintah ke konteks pemilik (hContext) dan menyiarkan ke satu konteks tambahan tersebut.
QueuedBufferCount
[keluar] Jumlah buffer DMA yang diantrekan ke konteks yang ditentukan anggota hContext setelah pengiriman saat ini terjadi.
NewCommandBuffer
Anggota ini dicadangkan dan harus diatur ke nol.
Anggota ini tersedia dimulai dengan Windows 7.
pPrivateDriverData
[in] Anggota ini dicadangkan dan harus diatur ke nol.
Anggota ini tersedia dimulai dengan Windows 7.
PrivateDriverDataSize
[in] Anggota ini dicadangkan dan harus diatur ke nol.
Anggota ini tersedia dimulai dengan Windows 7.
MarkerLogType
Enumerasi D3DDDI_MARKERLOGTYPE yang menunjukkan jenis penanda di log Pelacakan Peristiwa untuk Windows (ETW) yang didukung driver tampilan mode pengguna.
RenderCBSequence
Pengidentifikasi unik untuk setiap panggilan fungsi pfnRenderCb . Dimulai pada nilai 1 untuk konteks yang terkait dengan DDI mode pengguna berulir tunggal dan rentang ke nilai 0x80000001 untuk konteks yang terkait dengan DDI mode pengguna utas bebas. Driver tampilan mode pengguna harus menaikkan nilai untuk setiap panggilan pfnRenderCb yang dilakukannya pada mesin apa pun.
FirstAPISequenceNumberHigh
Digunakan oleh driver untuk meneruskan nomor urutan API konteks.
CompletedAPISequenceNumberLow0Size
Digunakan oleh driver untuk meneruskan nomor urutan API konteks.
CompletedAPISequenceNumberLow1Size
Digunakan oleh driver untuk meneruskan nomor urutan API konteks.
BegunAPISequenceNumberLow0Size
Digunakan oleh driver untuk meneruskan nomor urutan API konteks.
BegunAPISequenceNumberLow1Size
Digunakan oleh driver untuk meneruskan nomor urutan API konteks.
BatchedMarkerDataCount
pCompletedAPISequenceNumberLow0
Pointer yang digunakan oleh driver untuk meneruskan nomor urutan API konteks.
pCompletedAPISequenceNumberLow1
Pointer yang digunakan oleh driver untuk meneruskan nomor urutan API konteks.
pBegunAPISequenceNumberLow0
Pointer yang digunakan oleh driver untuk meneruskan nomor urutan API konteks.
pBegunAPISequenceNumberLow1
Pointer yang digunakan oleh driver untuk meneruskan nomor urutan API konteks.
pBatchedMarkerData
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Header | d3dumddi.h (termasuk D3dumddi.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