Partager via


ID3D12CommandQueue ::Signal, méthode (d3d12.h)

Mises à jour une clôture à une valeur spécifiée.

Syntaxe

HRESULT Signal(
  ID3D12Fence *pFence,
  UINT64      Value
);

Paramètres

pFence

Type : ID3D12Fence*

Pointeur vers l’objet ID3D12Fence .

Value

Type : UINT64

Valeur sur laquelle définir la clôture.

Valeur retournée

Type : HRESULT

Cette méthode retourne l’un des codes de retour Direct3D 12.

Remarques

Utilisez cette méthode pour définir une valeur de clôture côté GPU. Utilisez ID3D12Fence ::Signal pour définir une clôture côté processeur.

Exemples

Ajoute un signal à la file d’attente de commandes, puis attend que le nuanceur de calcul termine la simulation, signale et incrémente la valeur de clôture.

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

Reportez-vous à l’exemple de code dans la référence D3D12.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d12.h
Bibliothèque D3D12.lib
DLL D3D12.dll

Voir aussi

ID3D12CommandQueue

Synchronisation multi-moteur