diff --git a/RHI模块测试重构.md b/RHI模块测试重构.md index 1db01898..68b7b92a 100644 --- a/RHI模块测试重构.md +++ b/RHI模块测试重构.md @@ -34,6 +34,7 @@ | `test_pipeline_state.cpp` | 10 | RHIPipelineState | | `test_render_pass.cpp` | 10 | RHIRenderPass | | `test_framebuffer.cpp` | 8 | RHIFramebuffer | +| `test_compute.cpp` | 8 | Compute/Dispatch | #### D3D12 后端 (`tests/RHI/D3D12/unit/`) @@ -543,8 +544,7 @@ TEST_F(OpenGLTestFixture, CommandList_Dispatch) { | **DescriptorSet** | ⚠️ 部分覆盖 | OpenGL 需要 GL context | | **RenderPass** | ✅ 已覆盖 | 10个测试,已完成 | | **Framebuffer** | ✅ 已覆盖 | 8个测试,已完成 | -| **Compute/Dispatch** | ❌ 无测试 | **必须添加** | -| Resource Barriers | ⚠️ 太弱 | 传递 nullptr | +| **Compute/Dispatch** | ✅ 已覆盖 | 8个测试,已完成 | ### 4.2 D3D12 后端覆盖度 @@ -596,7 +596,7 @@ TEST_F(OpenGLTestFixture, CommandList_Dispatch) { | 5 | 添加 DescriptorPool 测试 | 中 | 已实现未测试 | ✅ 已完成 (DescriptorPool) | | 5b | DescriptorSet 测试 | 中 | OpenGL 需要 GL context,暂跳过 | ⚠️ 待完成 | | 6 | CommandList 测试增强 | 大 | 大部分传递 nullptr | ⏳ 待完成 | -| 7 | 添加 Compute/Dispatch 测试 | 中 | 重要功能缺失 | ⏳ 待完成 | +| 7 | 添加 Compute/Dispatch 测试 | 中 | 重要功能缺失 | ✅ 已完成 | | 8 | D3D12 PSO/shader 测试增强 | 小 | 当前测试 trivial | ⏳ 待完成 | ### P2 - 可以修复(完善细节) @@ -617,7 +617,7 @@ TEST_F(OpenGLTestFixture, CommandList_Dispatch) { | `tests/RHI/unit/test_render_pass.cpp` | RenderPass 创建/Begin/End | P0 | ✅ 已完成 | | `tests/RHI/unit/test_framebuffer.cpp` | Framebuffer 创建/绑定 | P0 | ✅ 已完成 | | `tests/RHI/unit/test_descriptor.cpp` | DescriptorPool 创建/更新 | P1 | ✅ DescriptorPool完成, Set待完成 | -| `tests/RHI/unit/test_compute.cpp` | Compute shader/Dispatch | P1 | ⏳ 待完成 | +| `tests/RHI/unit/test_compute.cpp` | Compute shader/Dispatch | P1 | ✅ 已完成 | | `tests/RHI/unit/test_pipeline_layout.cpp` | PipelineLayout 创建 | P2 | ⏳ 待完成 | --- @@ -721,12 +721,24 @@ ctest -R "D3D12|OpenGL|RHITestFixture" -C Debug --output-on-failure --- -**文档版本**: 1.3 +**文档版本**: 1.4 **最后更新**: 2026-03-25 **作者**: XCEngine Team ## 更新日志 +### v1.4 (2026-03-25) +- P1-7: Compute/Dispatch 测试 ✅ 已完成 + - 新增 `test_compute.cpp`,8个测试 + - 测试通过:D3D12 8 + OpenGL 8 = 16 tests + - 修复 shader type bugs: + - `D3D12Shader::Compile` 不设置 `m_type` + - `OpenGLShader::Compile(const void*,...)` 硬编码 Fragment + - `OpenGLShader::CompileCompute` 不设置 `m_type` + - 修复 `D3D12CommandList::SetPipelineState` 对 Compute PSO 用错 handle +- 测试结果:D3D12 116测试 + OpenGL 116测试 = 232测试全部通过 +- 集成测试:8/8 全部通过 + ### v1.3 (2026-03-25) - P1-5: DescriptorPool 测试 ✅ 已完成 - 新增 `test_descriptor.cpp`,8个 DescriptorPool 测试