f014ae6e6f
Formalize cubemap skybox pipeline across backends
2026-04-06 01:37:04 +08:00
96a44da2cb
Add forward shadow receiving support
2026-04-04 23:01:34 +08:00
e5cb79f3ce
chore: sync workspace state
2026-03-29 01:36:53 +08:00
9adac63b4c
Fix RHI texture binding and add pure quad test
2026-03-26 00:47:12 +08:00
76c4c2ace2
Add RHI texture upload and descriptor set fixes
2026-03-26 00:04:51 +08:00
5ade399df2
refactor: Clean up D3D12 debug logging and rename CompileShader
...
- Remove debug OutputDebugStringA and file logging from D3D12Device
- Rename CompileShader to CreateShader for API consistency
2026-03-25 19:01:47 +08:00
295459067f
Fix RHI format conversion and add debug logging for D3D12 tests
2026-03-25 17:30:16 +08:00
0dde7234b7
refactor(RHI): remove void* from CommandList interfaces and fix OpenGL MRT bug
...
- Remove void* parameters from RHICommandList abstract interface
- TransitionBarrier, SetVertexBuffer, SetIndexBuffer, SetRenderTargets,
ClearRenderTarget, ClearDepthStencil, CopyResource now use RHIResourceView*
- SetPipelineState now uses RHIPipelineState* instead of void*
- Simplified SetVertexBuffer to 3 params, SetIndexBuffer to 2 params
- Add internal D3D12 APIs for native type support (low-level escape hatch)
- Fix OpenGL SetRenderTargets to call glDrawBuffers for MRT support
- Update tests to match new interface signatures
All 289 RHI tests pass (158 unit + 64 OpenGL backend + 58 D3D12 backend + 8 integration + 1 disabled)
2026-03-24 17:20:51 +08:00
34c04af6cb
D3D12: Fix texture ownership semantics and remove GetSwapChain() exposure
...
This commit fixes the D3D12 texture architecture issues:
1. D3D12Texture ownership semantics:
- Add m_ownsResource member to track resource ownership
- InitializeFromExisting() now takes ownsResource parameter (default false)
- Shutdown() only releases resource if ownsResource is true
- Initialize() sets m_ownsResource = true for created resources
2. D3D12SwapChain changes:
- Remove GetSwapChain() method (was exposing native D3D12 API)
- Change GetBackBuffer() to return reference instead of pointer
- Back buffers initialized with ownsResource = false
3. minimal/main.cpp updates:
- Remove gColorRTs[2] array (was duplicating back buffer wrapping)
- Direct use of gSwapChain.GetBackBuffer(i) instead
- All references updated to use encapsulated API
4. Documentation:
- Update TEST_SPEC.md v1.3
- Remove known limitation 7.2 (minimal GetBuffer issue fixed)
- Add D3D12_Texture_Architecture_Fix_Plan.md design document
2026-03-20 17:58:27 +08:00
dfbd218435
Move D3D12 cpp files to src/RHI/D3D12/ subdirectory
2026-03-15 20:50:06 +08:00