1.0 KiB
1.0 KiB
OpenGLDevice::CreateFence
RHIFence* CreateFence(const FenceDesc& desc) override
创建同步栅栏对象。
详细描述
创建用于 GPU/CPU 同步的栅栏对象。
FenceDesc 字段
| 字段 | 描述 |
|---|---|
initialValue |
初始值(0=未 signaled, >0=signaled) |
行为
initialValue > 0: 创建时栅栏处于 signaled 状态initialValue == 0: 创建时栅栏处于未 signaled 状态
参数
desc- 栅栏描述符
返回值
RHIFence* - 创建的栅栏指针
注意事项
- 返回的栅栏对象归调用者所有,需自行管理生命周期
- 栅栏用于同步 GPU 命令执行和 CPU 代码执行
示例
FenceDesc fenceDesc;
fenceDesc.initialValue = 0;
RHIFence* fence = device.CreateFence(fenceDesc);
// 等待栅栏
while (!fence->IsSignaled()) {
// 等待或做其他工作
}
// GPU 命令完成,栅栏 signaled
相关文档
- OpenGLDevice - 类总览
- OpenGLFence - OpenGL 栅栏实现