Bagikan melalui


struktur D3DDDICB_SUBMITCOMMAND (d3dumddi.h)

Struktur D3DDDICB_SUBMITCOMMAND digunakan untuk mengirimkan buffer perintah pada konteks yang mendukung alamat virtual unit pemrosesan grafis (GPU).

Sintaks

typedef struct _D3DDDICB_SUBMITCOMMAND {
  D3DGPU_VIRTUAL_ADDRESS      Commands;
  UINT                        CommandLength;
  D3DDDICB_SUBMITCOMMANDFLAGS Flags;
  UINT                        BroadcastContextCount;
  HANDLE                      BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  VOID                        *pPrivateDriverData;
  UINT                        PrivateDriverDataSize;
  UINT                        NumPrimaries;
  D3DKMT_HANDLE               WrittenPrimaries[D3DDDI_MAX_WRITTEN_PRIMARIES];
  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;
  };
  UINT                        Reserved;
  UINT                        NumHistoryBuffers;
  D3DKMT_HANDLE               *HistoryBufferArray;
  HANDLE                      hSyncToken;
  void                        *pReserved;
} D3DDDICB_SUBMITCOMMAND;

Anggota

Commands

Alamat virtual GPU ke perintah yang dikirimkan ke konteks untuk eksekusi. Informasi ini diberikan kepada driver mode kernel selama pengiriman perintah dan juga digunakan untuk tujuan penelusuran kesalahan.

CommandLength

Menentukan panjang, dalam byte, dari perintah yang dikirimkan ke GPU. Informasi ini diberikan kepada driver mode kernel selama pengiriman perintah dan juga digunakan untuk tujuan penelusuran kesalahan.

Flags

Instans struktur D3DDDICB_SUBMITCOMMANDFLAGS .

BroadcastContextCount

Menentukan jumlah konteks yang harus dikirimkan perintah ini. Jumlah ini harus minimal 1.

BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Menentukan handel konteks untuk menjalankan perintah yang ditentukan.

pPrivateDriverData

Pointer ke driver data privat untuk diteruskan ke driver mode kernel sebagai bagian dari pengiriman ini.

PrivateDriverDataSize

Ukuran informasi data driver pribadi yang diteruskan. Ukuran ini harus lebih kecil dari ukuran yang diminta oleh driver mode kernel untuk pengiriman data driver pribadi.

NumPrimaries

Menentukan jumlah utama dan buffer swapchain back yang ditulis oleh perintah yang dikirimkan. Ini sama dengan jumlah alokasi dalam array WrittenPrimaries .

WrittenPrimaries[D3DDDI_MAX_WRITTEN_PRIMARIES]

Array handel ke utama dan buffer swapchain back ditulis oleh perintah yang dikirimkan.

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

Digunakan oleh driver untuk meneruskan jumlah data penanda batch konteks.

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

Pointer yang digunakan oleh driver untuk meneruskan data penanda batch konteks.

Reserved

Anggota ini dicadangkan dan harus diatur ke nol.

NumHistoryBuffers

Jumlah buffer riwayat.

HistoryBufferArray

Penunjuk ke array buffer riwayat.

hSyncToken

pReserved

Keterangan

Jalur kode pfnSubmitCommandCb tidak lagi menyediakan daftar alokasi untuk driver mode pengguna untuk memberikan daftar alokasi yang akan dibaca dan ditulis selama perintah ini. Namun, perlu untuk menyinkronkan beberapa tulisan yang biasanya tidak akan diketahui tanpa daftar alokasi. Untuk ini, daftar alokasi kecil baru khusus untuk permukaan yang akan ditulis dan digunakan untuk menampilkan konten. Array WrittenPrimaries harus digunakan untuk menyediakan alokasi tersebut.

Terlepas dari namanya, WrittenPrimaries harus berisi alokasi yang dianggap sebagai alokasi SwapChainBackBuffer sesuai dengan runtime selain yang utama. Ini diekspos ke driver mode pengguna dengan bendera baru di D3D10_DDI_RESOURCE_MISC_FLAG. Runtime akan memberikan bendera D3DWDDM2_0DDI_RESOURCE_MISC_DISPLAYABLE_SURFACE ke driver mode pengguna selama panggilan untuk membuat sumber daya atau timbunan yang dibuat sebagai swapchain FlipEx atau utama. Driver dapat menggunakan bendera ini untuk menentukan semua alokasi yang harus dimasukkan ke dalam daftar WrittenPrimaries untuk Microsoft Direct3D 11. Runtime lain tidak berubah.

Jika driver menerima panggilan ke CreateResource yang memiliki bendera ini, alokasi harus ditambahkan ke daftar ini pada setiap panggilan pfnSubmitCommandCb yang menulis ke permukaan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10
Server minimum yang didukung Server Windows 2016
Header d3dumddi.h (termasuk D3dumddi.h)

Lihat juga

D3D10_DDI_RESOURCE_MISC_FLAG

pfnRenderCb

pfnSubmitCommandCb