Bagikan melalui


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

Lihat juga

ID3D12CommandQueue

Sinkronisasi multi-mesin