From ad1196c2d207550b8be3014d71c982c84b3aeff9 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 30 Oct 2018 21:47:59 +0000 Subject: [PATCH] Fetch structured byte stride properly for BUFFEREX SRVs --- renderdoc/driver/d3d11/d3d11_replay.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/renderdoc/driver/d3d11/d3d11_replay.cpp b/renderdoc/driver/d3d11/d3d11_replay.cpp index b07d7493a..9b8896e2d 100644 --- a/renderdoc/driver/d3d11/d3d11_replay.cpp +++ b/renderdoc/driver/d3d11/d3d11_replay.cpp @@ -799,6 +799,14 @@ void D3D11Replay::SavePipelineState() view.firstElement = desc.BufferEx.FirstElement; view.numElements = desc.BufferEx.NumElements; view.bufferFlags = D3DBufferViewFlags(desc.BufferEx.Flags); + + D3D11_BUFFER_DESC bufdesc; + ((ID3D11Buffer *)res)->GetDesc(&bufdesc); + + view.structured = bufdesc.StructureByteStride > 0 && desc.Format == DXGI_FORMAT_UNKNOWN; + + if(view.structured) + view.elementByteSize = bufdesc.StructureByteStride; } else if(desc.ViewDimension == D3D11_SRV_DIMENSION_TEXTURE1D) {