Метод 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 |