Bagikan melalui


struktur D3D12DDI_NODE_OUTPUT_0108 (d3d12umddi.h)

Struktur D3D12DDI_NODE_OUTPUT_0108 menjelaskan output simpul dalam grafik kerja.

Sintaks

typedef struct D3D12DDI_NODE_OUTPUT_0108 {
  D3D12DDI_NODE_ID_0108                    FinalName;
  UINT                                     OutputIndex;
  D3D12DDI_NODE_IO_KIND_0108               NodeIOKind;
  UINT                                     NodeIOFlags;
  UINT                                     RecordSizeInBytes;
  BOOL                                     bAllowSparseNodes;
  const D3D12DDI_RECORD_DISPATCH_GRID_0108 *pRecordDispatchGrid;
  const UINT                               *pMaxRecords;
  const UINT                               *pMaxRecordsSharedWithOutputIndex;
  UINT                                     ArraySize;
  const D3D12DDI_NODE_LIST_ENTRY_0108      *pOutputs;
} D3D12DDI_NODE_OUTPUT_0108;

Anggota

FinalName

Struktur D3D12DDI_NODE_ID_0108 yang menentukan nama akhir simpul setelah penggantian nama opsional yang dilakukan pada tingkat aplikasi. Jika ArraySize lebih besar dari 1, ini adalah NodeID dari awal array simpul yang dihasilkan.

OutputIndex

Indeks berbasis nol dari output ini dalam kumpulan output untuk simpul ini (output array simpul dihitung sebagai satu entri dalam set ini). Indeks ini cocok dengan urutan output yang dideklarasikan, dan bagaimana output muncul dalam array pOutputs di D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108, dan D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. Dengan demikian, nilai ini berlebihan, tetapi disediakan untuk kejelasan. Anggota lain dari simpul referensi struktur ini menggunakan ruang pengindeksan ini.

NodeIOKind

Enumerasi D3D12DDI_NODE_IO_KIND_0108 yang menentukan kelas input. Lihat Deklarasi output simpul.

NodeIOFlags

Bendera yang memberikan informasi tambahan tentang output simpul. Lihat bendera dalam D3D12DDI_NODE_IO_FLAGS_FLAG_MASK di D3D12DDI_NODE_IO_FLAGS_0108. Lihat juga Deklarasi input simpul.

RecordSizeInBytes

Ukuran rekaman output, dalam byte. Bisa 0 jika NodeIOKindD3D12DDI_NODE_IO_KIND_EMPTY_OUTPUT_0108.

bAllowSparseNodes

Boolean yang menentukan apakah simpul jarang diizinkan. Anggota ini memetakan ke atribut AllowSparseNodes pada output simpul, atau dapat ditimpa di tingkat aplikasi, sehingga status akhir ditunjukkan di sini.

pRecordDispatchGrid

Jika nullptr, rekaman output tidak berisi SV_DispatchGrid. Jika tidak, rujuk ke deskripsi tentang bagaimana SV_DispatchGrid muncul dalam rekaman output. Lihat D3D12DDI_RECORD_DISPATCH_GRID_0108.

pMaxRecords

Jumlah maksimum rekaman output yang akan dihasilkan grup utas ke simpul/array output ini. Jika anggaran rekaman output untuk output ini dibagikan dengan output lain, pMaxRecords adalah nullptr dan pMaxRecordsSharedWithOutputIndex ditentukan sebagai gantinya. Jika shader mendeklarasikan [MaxRecordsSharedWith()], valid untuk menggantinya dengan pMaxRecords, yang membuat anggaran output tidak lagi dibagikan.

pMaxRecordsSharedWithOutputIndex

Jika output ini berbagi anggaran rekaman outputnya dengan output lain, pMaxRecordsSharedWithOutputIndex menunjuk ke indeks berbasis 0 dari output tersebut berdasarkan urutan yang dideklarasikan, dan bagaimana mereka muncul dalam array pOutputs di D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108, dan D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. Output yang ditujukan untuk memiliki pMaxRecords yang ditentukan. Jika output saat ini tidak berbagi anggaran rekaman outputnya, pMaxRecordsSharedWithIndex adalah nullptr. Jika shader mendeklarasikan [MaxRecords()], valid untuk menggantinya dengan pMaxRecordsSharedWithIndex, yang membuat anggaran output sekarang dibagikan dengan output lain.

ArraySize

Jumlah simpul dalam array simpul yang dihasilkan. Jika ini adalah 1, outputnya adalah satu simpul. Jika ini lebih besar dari 1, outputnya adalah array simpul. Simpul berdekatan dalam array, dan simpul pertama adalah simpul yang ditentukan oleh FinalName. Nilai 0xffffffff berarti ukuran array simpul yang tidak terbatas, yang hanya diizinkan ketika bAllowSparseNodes adalah true.

pOutputs

Mencantumkan (D3D12DDI_NODE_LIST_ENTRY) simpul (D3D12DDI_NODE_0108) yang dihasilkan simpul ini. Jika pOutputs adalah nullptr simpul ini tidak menghasilkan ke simpul lain. Jika bAllowSparseNodes benar, daftar ini belum tentu selama ArraySize. Terlepas dari status bAllowSparseNodes , driver tidak boleh menganggap entri daftar berada dalam urutan indeks array. Indeks array dari output tertentu dapat ditemukan di ID simpulnya. Ketika AddToStateObject() menambahkan output, penambahan akan muncul di awal daftar, yang merupakan alasan lain untuk tidak menganggapnya adalah urutan indeks array.

Keterangan

Untuk informasi selengkapnya, lihat Grafik kerja.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 11, versi 24H2 (WDDM 3.2)
Header d3d12umddi.h

Lihat juga

D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108