Bagikan melalui


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)

Lihat juga

D3DKMTRender

D3DKMT_RENDERFLAGS

DxgkDdiPresent