|
|
dba3dc23f2
|
重构D3D12集成测试目录结构,每个测试独立子文件夹隔离资源
|
2026-03-20 16:33:35 +08:00 |
|
|
|
b2228db3ee
|
test: add test improvement plan, update CMakeLists with correct GT_minimal reference
|
2026-03-20 03:13:24 +08:00 |
|
|
|
e242b0f5a7
|
test: register integration tests in CTest with Python wrapper
|
2026-03-20 03:08:08 +08:00 |
|
|
|
4c6e7af02e
|
refactor: encapsulate frame fence synchronization in CommandQueue
- Add WaitForPreviousFrame() and GetCurrentFrame() to RHICommandQueue interface
- D3D12CommandQueue now manages frame fence internally
- ExecuteCommandLists automatically signals fence after command execution
- OpenGLCommandQueue provides stub implementations for interface compliance
- Minimal test now uses CommandQueue::WaitForPreviousFrame() instead of manual fence
|
2026-03-20 02:51:34 +08:00 |
|
|
|
b7d66a09de
|
fix: replace Sleep with proper fence synchronization in minimal test
|
2026-03-20 02:49:19 +08:00 |
|
|
|
77ef74bec6
|
fix: D3D12 screenshot implementation and tests
|
2026-03-20 02:35:59 +08:00 |
|
|
|
a647f5e8ec
|
修复 D3D12 截图功能:修复 GPU 过载导致的设备移除问题
问题根因:
1. 渲染循环帧率过高导致 GPU 过载(TDR)
2. D3D12CommandList::Reset() 未正确调用底层 Reset()
修复内容:
1. 在 Present 后添加 Sleep(10) 延迟防止 GPU 过载
2. 修复 D3D12CommandList::Reset() 正确调用底层 m_commandList->Reset()
3. 在 D3D12CommandList 中存储 CommandAllocator 引用
4. 在 main_minimal.cpp 中添加截图调用逻辑(30帧后截图保存为 minimal.ppm)
修改文件:
- engine/include/XCEngine/RHI/D3D12/D3D12CommandList.h
- engine/src/RHI/D3D12/D3D12CommandList.cpp
- tests/RHI/D3D12/integration/main_minimal.cpp (新增)
|
2026-03-20 02:25:15 +08:00 |
|