修复D3D12SwapChain初始化bug并添加单元测试

- 修复Initialize(IDXGIFactory4*, ...)重载缺少m_backBuffers初始化的问题
- 新增test_swap_chain.cpp单元测试文件,包含6个SwapChain测试用例
- 更新unit CMakeLists.txt添加test_swap_chain.cpp和Res路径
This commit is contained in:
2026-03-20 17:07:24 +08:00
parent dba3dc23f2
commit c52b4ef35c
3 changed files with 203 additions and 2 deletions

View File

@@ -44,6 +44,13 @@ bool D3D12SwapChain::Initialize(IDXGIFactory4* factory, ID3D12CommandQueue* comm
m_height = height;
m_bufferCount = bufferCount;
m_backBuffers.resize(m_bufferCount);
for (uint32_t i = 0; i < m_bufferCount; ++i) {
ID3D12Resource* resource = nullptr;
m_swapChain->GetBuffer(i, IID_PPV_ARGS(&resource));
m_backBuffers[i].InitializeFromExisting(resource);
}
return true;
}