Files
XCEngine/docs/api/rhi/command-queue/signal.md
2026-03-20 02:35:45 +08:00

919 B

RHICommandQueue::Signal

virtual void Signal(RHIFence* fence, uint64_t value) = 0;

向指定的栅栏发送信号,将栅栏的当前值设置为 value。当 GPU 执行到此信号操作时,栅栏值会被更新。该方法用于 GPU 到 CPU 同步。

参数:

  • fence - 目标栅栏对象,不能为 nullptr
  • value - 信号值,一个 64 位无符号整数

返回:

线程安全: 非线程安全,应在渲染线程中调用

复杂度: O(1)

示例:

#include "RHICommandQueue.h"
#include "RHIFence.h"

void GPUToCPUSync(RHICommandQueue* cmdQueue, RHIFence* fence) {
    cmdQueue->ExecuteCommandLists(1, (void**)&cmdList);
    cmdQueue->Signal(fence, 1);
    fence->Wait(1);
}

相关文档