ID3D12CommandQueue::Signal-Methode (d3d12.h)

Updates einen Zaun zu einem angegebenen Wert.

Syntax

HRESULT Signal(
  ID3D12Fence *pFence,
  UINT64      Value
);

Parameter

pFence

Typ: ID3D12Fence*

Ein Zeiger auf das ID3D12Fence-Objekt .

Value

Typ: UINT64

Der Wert, auf den der Zaun festgelegt werden soll.

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen der Direct3D 12-Rückgabecodes zurück.

Hinweise

Verwenden Sie diese Methode, um einen Zaunwert von der GPU-Seite festzulegen. Verwenden Sie ID3D12Fence::Signal , um einen Zaun von der CPU-Seite festzulegen.

Beispiele

Fügt der Befehlswarteschlange ein Signal hinzu, wartet dann, bis der Compute-Shader die Simulation abgeschlossen hat, und signalisiert schließlich den Zaunwert und erhöht diesen.

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

Weitere Informationen finden Sie im Beispielcode in der D3D12-Referenz.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek D3D12.lib
DLL D3D12.dll

Weitere Informationen

ID3D12CommandQueue

Synchronisierung mit mehreren Modulen