Remove RHI interface inheritance from all D3D12 backend classes

- D3D12Device, D3D12CommandQueue, D3D12CommandAllocator, D3D12Fence
- D3D12DescriptorHeap, D3D12QueryHeap, D3D12RootSignature
- D3D12PipelineState, D3D12Sampler, D3D12Shader
- D3D12Buffer, D3D12Texture, D3D12SwapChain

All D3D12 backend classes now directly use D3D12 APIs without
going through RHI interface abstraction. This decouples the
D3D12 backend from the RHI abstraction layer.

Test: D3D12 rendering test passed (screenshot comparison 100% match)
This commit is contained in:
2026-03-16 15:48:14 +08:00
parent 0014c32fa5
commit 0ce312e648
14 changed files with 492 additions and 69 deletions

View File

@@ -74,7 +74,7 @@ uint32_t D3D12SwapChain::GetCurrentBackBufferIndex() const {
return m_swapChain->GetCurrentBackBufferIndex();
}
IResource* D3D12SwapChain::GetBackBuffer(uint32_t index) const {
D3D12Texture* D3D12SwapChain::GetBackBuffer(uint32_t index) const {
if (index < m_backBuffers.size()) {
return const_cast<D3D12Texture*>(&m_backBuffers[index]);
}