Files
XCEngine/docs/api/rhi/fence/fence.md

1.6 KiB
Raw Blame History

RHIFence

命名空间: XCEngine::RHI

类型: class (abstract)

头文件: XCEngine/RHI/RHIFence.h

描述: 围栏接口,用于 GPU 同步

概述

RHIFence 是 RHIRender Hardware Interface子系统中的围栏抽象接口用于在 CPU 和 GPU 之间进行同步操作。围栏是一种常用的 GPU 同步机制,允许 CPU 等待 GPU 完成特定任务,或让 GPU 等待 CPU 提交特定命令。

作为抽象基类RHIFence 定义了一组纯虚接口,具体实现由底层图形 API如 DirectX 12、Vulkan提供。

公共方法

方法 描述
RHIFence 默认构造函数
~RHIFence 虚析构函数
Shutdown 关闭围栏并释放资源
Signal 发送信号(无参数版本)
Signal 发送信号(带值版本)
Wait 等待围栏达到指定值
GetCompletedValue 获取已完成的值
GetNativeHandle 获取原生句柄

使用示例

#include "XCEngine/RHI/RHIFence.h"

// 假设通过 RHI 设备创建围栏
RHIFence* fence = device->CreateFence();

// 提交 GPU 命令...

// 发送信号
fence->Signal();

// 在 CPU 端等待 GPU 完成
fence->Wait(fence->GetCompletedValue());

// 获取原生句柄用于平台特定操作
void* nativeHandle = fence->GetNativeHandle();

// 关闭围栏
fence->Shutdown();

相关文档