From 6aec6b76a783521d03a08b4d509b67b8c54748c8 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 25 Oct 2019 11:32:39 +0100 Subject: [PATCH] Fix fetching of view parameters for MSAA array textures on D3D11 --- renderdoc/driver/d3d11/d3d11_replay.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/d3d11/d3d11_replay.cpp b/renderdoc/driver/d3d11/d3d11_replay.cpp index d3ec62f70..7b7ba3b76 100644 --- a/renderdoc/driver/d3d11/d3d11_replay.cpp +++ b/renderdoc/driver/d3d11/d3d11_replay.cpp @@ -901,8 +901,8 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) } else if(desc.ViewDimension == D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY) { - view.numSlices = desc.Texture2DArray.ArraySize; - view.firstSlice = desc.Texture2DArray.FirstArraySlice; + view.numSlices = desc.Texture2DMSArray.ArraySize; + view.firstSlice = desc.Texture2DMSArray.FirstArraySlice; } else if(desc.ViewDimension == D3D11_SRV_DIMENSION_TEXTURE3D) { @@ -1203,6 +1203,11 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) view.firstMip = desc.Texture2DArray.MipSlice; view.numMips = 1; } + else if(desc.ViewDimension == D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY) + { + view.numSlices = desc.Texture2DMSArray.ArraySize; + view.firstSlice = desc.Texture2DMSArray.FirstArraySlice; + } else if(desc.ViewDimension == D3D11_RTV_DIMENSION_TEXTURE3D) { view.numSlices = desc.Texture3D.WSize; @@ -1363,6 +1368,11 @@ void D3D11Replay::SavePipelineState(uint32_t eventId) view.firstMip = desc.Texture2DArray.MipSlice; view.numMips = 1; } + else if(desc.ViewDimension == D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY) + { + view.numSlices = desc.Texture2DMSArray.ArraySize; + view.firstSlice = desc.Texture2DMSArray.FirstArraySlice; + } SAFE_RELEASE(res); }