diff --git a/renderdoc/driver/d3d11/d3d11_analyse.cpp b/renderdoc/driver/d3d11/d3d11_analyse.cpp index 90ea04dd6..bc4238094 100644 --- a/renderdoc/driver/d3d11/d3d11_analyse.cpp +++ b/renderdoc/driver/d3d11/d3d11_analyse.cpp @@ -360,6 +360,12 @@ void D3D11DebugManager::FillCBufferVariables(const string &prefix, size_t &offse rowDataOffset = AlignUp(rowDataOffset, sizeof(Vec4f)); } + // arrays are also aligned to the nearest Vec4f for each element + if(!flatten && isArray) + { + rowDataOffset = AlignUp(rowDataOffset, sizeof(Vec4f)); + } + if(rowDataOffset < data.size()) { const byte *d = &data[rowDataOffset];