Files
XCEngine/docs/api/rhi/opengl/device/create-fence.md
ssdfasd b414bc5326 refactor(docs): Fix broken links across multiple modules
Fixed broken references:
- texture-import-settings: Fix 16 files referencing wrong overview filename
- math/rectint: Fix 9 method links (rectint-* → get*, contains, intersects)
- rhi/opengl/device: Fix 8 cross-references (opengl-* → */**)
- resources/mesh: Fix meshsection and vertexattribute links
- rhi/d3d12/sampler: Fix RHISampler reference path
- math/vector3: Fix projectonplane → project-on-plane
- rhi/opengl/command-list: Remove broken ClearFlag enum ref
- rhi/opengl/device: Create 2 new method docs (MakeContextCurrent, GetNativeContext)
- rhi/device: Fix device-info types reference

All 0 broken references remaining.
2026-03-26 02:41:00 +08:00

1.0 KiB
Raw Blame History

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

相关文档