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
This commit is contained in:
2026-03-24 01:53:00 +08:00
parent 92d817e16e
commit 08c01dd143
10 changed files with 769 additions and 95 deletions

View File

@@ -38,7 +38,6 @@ void D3D12Fence::Signal() {
}
void D3D12Fence::Signal(uint64_t value) {
m_signalValue = value;
m_fence->Signal(value);
}