Метод ID3D12CommandQueue::Signal (d3d12.h)

Обновления забор на указанное значение.

Синтаксис

HRESULT Signal(
  ID3D12Fence *pFence,
  UINT64      Value
);

Параметры

pFence

Тип: ID3D12Fence*

Указатель на объект ID3D12Fence .

Value

Тип: UINT64

Значение, которое необходимо задать для ограждения.

Возвращаемое значение

Тип: HRESULT

Этот метод возвращает один из кодов возврата Direct3D 12.

Комментарии

Используйте этот метод, чтобы задать значение ограждения со стороны GPU. Используйте ID3D12Fence::Signal , чтобы установить ограждение со стороны ЦП.

Примеры

Добавляет сигнал в очередь команд, затем ожидает завершения моделирования вычислительным шейдером, наконец, сигнализирует и увеличивает значение ограждения.

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

См. пример кода в справочнике по D3D12.

Требования

Требование Значение
Целевая платформа Windows
Header d3d12.h
Библиотека D3D12.lib
DLL D3D12.dll

См. также раздел

ID3D12CommandQueue

Синхронизация с несколькими движками