fix: D3D12 CreateTexture defaults and CommandList RTV support

- Add default value handling for sampleCount, mipLevels, depth in CreateTexture
- Add RTV descriptor heap to D3D12CommandList for future ClearRenderTarget implementation
- ClearRenderTarget remains stub (requires full D3D12 render pipeline state)
This commit is contained in:
2026-03-23 21:46:14 +08:00
parent 003d6ed630
commit 89d13a4ae4
2 changed files with 15 additions and 5 deletions

View File

@@ -279,10 +279,10 @@ RHITexture* D3D12Device::CreateTexture(const TextureDesc& desc) {
d3d12Desc.Width = desc.width;
d3d12Desc.Height = desc.height;
d3d12Desc.DepthOrArraySize = desc.depth;
d3d12Desc.MipLevels = desc.mipLevels;
d3d12Desc.DepthOrArraySize = desc.depth > 0 ? desc.depth : 1;
d3d12Desc.MipLevels = desc.mipLevels > 0 ? desc.mipLevels : 1;
d3d12Desc.Format = static_cast<DXGI_FORMAT>(desc.format);
d3d12Desc.SampleDesc.Count = desc.sampleCount;
d3d12Desc.SampleDesc.Count = desc.sampleCount > 0 ? desc.sampleCount : 1;
d3d12Desc.SampleDesc.Quality = desc.sampleQuality;
d3d12Desc.Flags = static_cast<D3D12_RESOURCE_FLAGS>(desc.flags);
d3d12Desc.Layout = D3D12_TEXTURE_LAYOUT_UNKNOWN;