struktur D3DKMT_RENDER (d3dkmthk.h)
Struktur D3DKMT_RENDER menjelaskan buffer perintah saat ini yang akan dirender.
Sintaks
typedef struct _D3DKMT_RENDER {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
[in] UINT CommandOffset;
[in] UINT CommandLength;
[in] UINT AllocationCount;
[in] UINT PatchLocationCount;
void D3DKMT_PTR(
VOID *unnamedParam1,
pNewCommandBuffer unnamedParam2
);
[in/out] UINT NewCommandBufferSize;
void D3DKMT_PTR(
D3DDDI_ALLOCATIONLIST *unnamedParam1,
pNewAllocationList unnamedParam2
);
[in/out] UINT NewAllocationListSize;
void D3DKMT_PTR(
D3DDDI_PATCHLOCATIONLIST *unnamedParam1,
pNewPatchLocationList unnamedParam2
);
[in/out] UINT NewPatchLocationListSize;
[in] D3DKMT_RENDERFLAGS Flags;
[in] D3DKMT_ALIGN64 ULONGLONG PresentHistoryToken;
[in] ULONG BroadcastContextCount;
D3DKMT_HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
[out] ULONG QueuedBufferCount;
[out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
void D3DKMT_PTR(
VOID *unnamedParam1,
pPrivateDriverData unnamedParam2
);
UINT PrivateDriverDataSize;
} D3DKMT_RENDER;
Anggota
[in] hDevice
Jenis data D3DKMT_HANDLE yang mewakili handel mode kernel ke perangkat tempat buffer perintah dirender. Handel perangkat disediakan ke fungsi D3DKMTRender dalam gabungan yang D3DKMT_RENDER berisi untuk kompatibilitas dengan Microsoft Direct3D versi 10.
[in] hContext
Jenis data D3DKMT_HANDLE yang mewakili handel mode kernel ke konteks perangkat tempat buffer perintah dirender.
[in] CommandOffset
Offset, dalam byte, ke perintah pertama dalam buffer perintah.
[in] CommandLength
Ukuran, dalam byte, dari buffer perintah mulai dari offset nol.
[in] AllocationCount
Jumlah elemen dalam daftar alokasi yang dikirimkan.
[in] PatchLocationCount
Jumlah elemen dalam daftar lokasi patch yang dikirimkan.
void D3DKMT_PTR( VOID *unnamedParam1, pNewCommandBuffer unnamedParam2)
[in/out] NewCommandBufferSize
Ukuran, dalam byte, yang diminta ICD OpenGL untuk buffer perintah berikutnya jika bendera bit-field ResizeCommandBuffer ditentukan dalam anggota Bendera . Jika ResizeCommandBuffer tidak ditentukan, nilai di NewCommandBufferSize diabaikan. Pada output, driver menerima ukuran, dalam byte, dari buffer perintah berikutnya untuk digunakan.
Tergantung pada kondisi memori saat ini, ukuran output mungkin tidak cocok dengan ukuran input.
void D3DKMT_PTR( D3DDDI_ALLOCATIONLIST *unnamedParam1, pNewAllocationList unnamedParam2)
[in/out] NewAllocationListSize
Jumlah elemen yang diminta ICD OpenGL untuk daftar alokasi berikutnya jika bendera bit-field ResizeAllocationList ditentukan di anggota Bendera . Jika ResizeAllocationList tidak ditentukan, nilai dalam NewAllocationListSize diabaikan. Pada output, driver menerima jumlah elemen yang akan tersedia dalam array alokasi ketika buffer perintah berikutnya dikirimkan.
Tergantung pada kondisi memori saat ini, ukuran output mungkin tidak cocok dengan ukuran input.
void D3DKMT_PTR( D3DDDI_PATCHLOCATIONLIST *unnamedParam1, pNewPatchLocationList unnamedParam2)
[in/out] NewPatchLocationListSize
Jumlah elemen yang diminta ICD OpenGL untuk daftar lokasi patch berikutnya jika bendera bit-field ResizePatchLocationList ditentukan dalam anggota Bendera . Jika ResizePatchLocationList tidak ditentukan, nilai di NewPatchLocationListSize diabaikan. Pada output, driver menerima jumlah elemen yang akan tersedia dalam array lokasi patch ketika buffer perintah berikutnya dikirimkan.
Tergantung pada kondisi memori saat ini, ukuran output mungkin tidak cocok dengan ukuran input.
[in] Flags
Struktur D3DKMT_RENDERFLAGS yang menunjukkan jenis buffer perintah, dalam bendera bit-field, yang akan dirender.
[in] PresentHistoryToken
Token riwayat saat ini untuk panggilan yang dialihkan ke fungsi DxgkDdiPresent driver miniport tampilan.
Token riwayat saat ini adalah paket data yang dikirimkan aplikasi penyajian untuk menginformasikan Desktop Window Manager (DWM) bahwa penyajian selesai dan buffer swap chain back siap disajikan.
[in] BroadcastContextCount
Jumlah konteks tambahan dalam array yang ditentukan BroadcastContext .
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Array D3DKMT_HANDLE jenis data yang mewakili kernel-mode menangani konteks tambahan untuk menyiarkan buffer perintah saat ini. Konstanta D3DDDI_MAX_BROADCAST_CONTEXT, yang didefinisikan sebagai 64, menentukan jumlah maksimum konteks tempat OpenGL ICD 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, OpenGL ICD mengirimkan buffer perintah ke konteks pemilik (hContext) dan menyiarkan ke satu konteks tambahan tersebut.
[out] QueuedBufferCount
Jumlah buffer DMA yang diantrekan ke konteks yang ditentukan anggota hContext setelah pengiriman.
[out] NewCommandBuffer
Penunjuk ke buffer perintah yang diterima ICD OpenGL untuk digunakan dalam panggilan berikutnya ke fungsi D3DKMTRender . Driver harus selalu memperbarui penunjuknya ke buffer perintah setelah panggilan apa pun ke D3DKMTRender terlepas dari apakah panggilan berhasil.
Didukung di Windows 7 dan versi yang lebih baru:
[in] Penunjuk ke buffer perintah yang akan dirender jika bendera RenderKm diatur di anggota Bendera .
void D3DKMT_PTR( VOID *unnamedParam1, pPrivateDriverData unnamedParam2)
PrivateDriverDataSize
Anggota ini dicadangkan dan harus diatur ke nol.
Anggota ini tersedia dimulai dengan Windows 7.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Header | d3dkmthk.h (termasuk D3dkmthk.h) |