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