Método ID3D12CommandQueue::Signal (d3d12.h)

Atualizações uma cerca para um valor especificado.

Sintaxe

HRESULT Signal(
  ID3D12Fence *pFence,
  UINT64      Value
);

Parâmetros

pFence

Tipo: ID3D12Fence*

Um ponteiro para o objeto ID3D12Fence .

Value

Tipo: UINT64

O valor para o qual definir a cerca.

Retornar valor

Tipo: HRESULT

Esse método retorna um dos códigos de retorno do Direct3D 12.

Comentários

Use esse método para definir um valor de cerca do lado da GPU. Use ID3D12Fence::Signal para definir uma cerca do lado da CPU.

Exemplos

Adiciona um sinal à fila de comandos e aguarda o sombreador de computação concluir a simulação, finalmente sinalizar e incrementar o valor da cerca.

// 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++;

Consulte o código de exemplo na referência D3D12.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d12.h
Biblioteca D3D12.lib
DLL D3D12.dll

Confira também

ID3D12CommandQueue

Sincronização de vários mecanismos