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

Novedades una barrera a un valor especificado.

Sintaxis

HRESULT Signal(
  ID3D12Fence *pFence,
  UINT64      Value
);

Parámetros

pFence

Tipo: ID3D12Fence*

Puntero al objeto ID3D12Fence .

Value

Tipo: UINT64

Valor en el que se va a establecer la barrera.

Valor devuelto

Tipo: HRESULT

Este método devuelve uno de los códigos de retorno de Direct3D 12.

Comentarios

Use este método para establecer un valor de barrera del lado de la GPU. Use ID3D12Fence::Signal para establecer una barrera desde el lado de la CPU.

Ejemplos

Agrega una señal a la cola de comandos y, a continuación, espera a que el sombreador de proceso complete la simulación, por último señale e incremente el valor de barrera.

// 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 el código de ejemplo en la referencia de D3D12.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d12.h
Library D3D12.lib
Archivo DLL D3D12.dll

Consulte también

ID3D12CommandQueue

Sincronización de varios motores