fix: RHI抽象层单元测试修复

- 实现 D3D12Device::CreateCommandQueue/CreateCommandList/CreateSwapChain
- 修复 Buffer::Map 对 DEFAULT heap 的问题 (Vertex/Index 使用 UPLOAD heap)
- 修复 Fence::IsSignaled() 初始值问题
- 修复 Sampler::GetNativeHandle() 返回值
- 修复 RHICapabilities 和 RHIDeviceInfo 初始化
- 修复 Shader 测试 (空 ShaderCompileDesc 预期)
- 修复 RHITestFixture 创建窗口句柄
- 重命名 opengl_engine_tests -> rhi_opengl_tests
- 添加 tests/RHI/unit/ 到构建系统

测试结果: 22 passed -> 59 passed
This commit is contained in:
2026-03-23 18:53:29 +08:00
parent 66df465661
commit 6935a91a1f
10 changed files with 174 additions and 113 deletions

View File

@@ -103,12 +103,14 @@ private:
ComPtr<ID3D12Device> m_device;
ComPtr<IDXGIFactory4> m_factory;
ComPtr<IDXGIAdapter1> m_adapter;
ComPtr<ID3D12CommandQueue> m_commandQueue;
AdapterInfo m_adapterInfo;
RHICapabilities m_capabilities;
RHIDeviceInfo m_deviceInfo;
bool m_isDeviceRemoved;
bool m_initialized;
RHIDeviceDesc m_deviceDesc;
};
} // namespace RHI

View File

@@ -31,7 +31,7 @@ public:
private:
ComPtr<ID3D12Fence> m_fence;
void* m_eventHandle;
uint64_t m_signalValue = 0;
uint64_t m_signalValue = UINT64_MAX;
};
} // namespace RHI

View File

@@ -21,14 +21,15 @@ public:
D3D12_SAMPLER_DESC GetDesc() const { return m_desc; }
void* GetNativeHandle() override { return nullptr; }
unsigned int GetID() override { return 0; }
void* GetNativeHandle() override { return &m_desc; }
unsigned int GetID() override { return m_id; }
void Bind(unsigned int unit) override { }
void Unbind(unsigned int unit) override { }
private:
D3D12_SAMPLER_DESC m_desc;
unsigned int m_id = 0;
};
} // namespace RHI