ID3D12CommandQueue::Signal method (d3d12.h)
Updates pagar ke nilai tertentu.
Sintaks
HRESULT Signal(
ID3D12Fence *pFence,
UINT64 Value
);
Parameter
pFence
Jenis: ID3D12Fence*
Penunjuk ke objek ID3D12Fence .
Value
Jenis: UINT64
Nilai untuk mengatur pagar ke.
Nilai kembali
Jenis: HRESULT
Metode ini mengembalikan salah satu Kode Pengembalian Direct3D 12.
Keterangan
Gunakan metode ini untuk mengatur nilai pagar dari sisi GPU. Gunakan ID3D12Fence::Signal untuk mengatur pagar dari sisi CPU.
Contoh
Menambahkan sinyal ke antrean perintah, lalu menunggu shader komputasi menyelesaikan simulasi, akhirnya memberi sinyal dan menambah nilai pagar.
// Wait for the compute shader to complete the simulation.
UINT64 threadFenceValue = InterlockedIncrement(&m_threadFenceValues[threadIndex]);
ThrowIfFailed(pCommandQueue->Signal(pFence, threadFenceValue));
ThrowIfFailed(pFence->SetEventOnCompletion(threadFenceValue, m_threadFenceEvents[threadIndex]));
WaitForSingleObject(m_threadFenceEvents[threadIndex], INFINITE);
// Add a signal command to the queue.
ThrowIfFailed(m_commandQueue->Signal(m_renderContextFence.Get(), m_renderContextFenceValue));
// Signal and increment the fence value.
ThrowIfFailed(m_commandQueue->Signal(m_renderContextFence.Get(), m_renderContextFenceValue));
m_renderContextFenceValue++;
Lihat Contoh Kode dalam Referensi D3D12.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d12.h |
Pustaka | D3D12.lib |
DLL | D3D12.dll |