feat: implement Fence synchronization for CPU-GPU frame sync

D3D12 Core:
- Add ID3D12Fence1 and fence_value to d3d12_command
- Add fence_event for CPU waiting
- Implement wait() in command_frame for frame sync
- Implement flush() to wait all frames complete
- Add fence_value tracking per frame
- Signal fence at end_frame with incremented value

TestRenderer:
- Call graphics::render() in run()

Documentation:
- Add changelog for Fence sync implementation
- Update D3D12 Wiki with Fence sync section
This commit is contained in:
SpecialX
2026-03-27 18:56:03 +08:00
parent 7da17ccadd
commit f1584ec3c6
5 changed files with 287 additions and 16 deletions

View File

@@ -94,6 +94,7 @@ void
engine_test::run()
{
std::this_thread::sleep_for(std::chrono::milliseconds(10));
graphics::render();
}
bool