ID3D12CommandQueue::Signal メソッド (d3d12.h)
指定した値にフェンスを更新します。
構文
HRESULT Signal(
ID3D12Fence *pFence,
UINT64 Value
);
パラメーター
pFence
種類: ID3D12Fence*
ID3D12Fence オブジェクトへのポインター。
Value
種類: UINT64
フェンスを設定する値。
戻り値
型: HRESULT
このメソッドは、Direct3D 12リターン コードのいずれかを返します。
注釈
GPU 側からフェンス値を設定するには、このメソッドを使用します。 ID3D12Fence::Signal を使用して、CPU 側からフェンスを設定します。
例
コマンド キューにシグナルを追加し、計算シェーダーがシミュレーションを完了するまで待機し、最後にフェンス値をシグナル化してインクリメントします。
// 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++;
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d12.h |
Library | D3D12.lib |
[DLL] | D3D12.dll |