Commit Graph

5 Commits

Author SHA1 Message Date
08c01dd143 RHI: Refactor Fence module to pure timeline semantics
- Remove IsSignaled() from RHIFence interface (semantic inconsistency)
- Remove Reset() from OpenGL implementation (no D3D12 counterpart)
- OpenGL Fence now uses single GLsync + CPU counters for timeline simulation
- OpenGL Fence Initialize() now accepts uint64_t initialValue (was bool)
- Add comprehensive timeline semantics tests for all backends:
  - Signal increment/decrement scenarios
  - Multiple signals
  - Wait smaller than completed value
  - GetCompletedValue stages verification
- Update documentation to reflect actual implementation
2026-03-24 01:53:00 +08:00
a220638298 fix(D3D12): 修复 D3D12Fence::IsSignaled() 实现错误
- 原来实现假设 GetCompletedValue() > 0 即为 signaled,这是错误的
- 添加 m_signalValue 成员变量跟踪最后一次 signal 的值
- IsSignaled() 现在正确检查 GetCompletedValue() >= m_signalValue
2026-03-18 01:37:55 +08:00
a257ff2d8b fix(RHI): 修复抽象基类编译问题 2026-03-17 18:24:08 +08:00
af718279ff feat(RHI): 实现 RHIFence 抽象基类
- 新增 RHIFence 抽象基类
- D3D12Fence 继承 RHIFence
- OpenGLFence 继承 RHIFence
- 文档更新 RHIFence 差异处理策略
2026-03-17 17:36:17 +08:00
dfbd218435 Move D3D12 cpp files to src/RHI/D3D12/ subdirectory 2026-03-15 20:50:06 +08:00