- Remove unnecessary inline keywords from RHICommandList
- Add TextureType enum for proper texture type classification
- Update DescriptorSet API to support binding with pipeline layout
- Simplify D3D12CommandList implementation
- Implement descriptor set binding with pipeline layout for both D3D12 and OpenGL
Use centralized OpenGLEnums.h for enum conversion:
- Remove local ToGL* functions from OpenGLCommandList
- Replace with ToOpenGL() and ToOpenGLClearBuffer() from OpenGLEnums
- Simplify OpenGLTexture, OpenGLBuffer, OpenGLSampler, etc.
1. Add ALLOW_RENDER_TARGET flag for color textures in CreateTexture
- This was the root cause of 5 failing RTV-related tests
- Without this flag, creating RTV caused device removal
2. Add FromD3D12() reverse conversion for Format enum
- GetFormat() was incorrectly casting DXGI_FORMAT to Format
- DXGI_FORMAT_R8G8B8A8_UNORM=28 but Format::R8G8B8A8_UNorm=3
- Added FromD3D12() to properly convert back
3. Update RHITestFixture to pre-create CommandQueue and Fence
- Prevents potential timing issues with GPU synchronization
4. Update RHITestFixture tests to pass correct format in ResourceViewDesc
- Previously passed empty desc.format=0 which caused issues
All 234 RHI unit tests now pass (117 D3D12 + 117 OpenGL)
- Fix CreateTexture to use ToD3D12() for format conversion
- Fix CreateRenderTargetView to use ToD3D12() for format conversion
- Fix CreateDepthStencilView to use ToD3D12() for format conversion
- Fix CreateShaderResourceView to use ToD3D12() for format conversion
- Update test to pass correct format in ResourceViewDesc
These fixes resolve CommandList_ClearDepthStencil_WithRealView test.
Other RTV-related tests still fail with DXGI_ERROR_NOT_CURRENTLY_AVAILABLE
from CreateCommandAllocator - further investigation needed.