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 |
라이브러리 | D3D12.lib |
DLL | D3D12.dll |