From 7115fdd2ef71fcf53d31820b3394931145e71c9c Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 30 Oct 2018 16:21:58 +0000 Subject: [PATCH] Add missing align to array elements in D3D12 cbuffer decomposition --- renderdoc/driver/d3d12/d3d12_debug.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/renderdoc/driver/d3d12/d3d12_debug.cpp b/renderdoc/driver/d3d12/d3d12_debug.cpp index e8f70a951..cf996c5a2 100644 --- a/renderdoc/driver/d3d12/d3d12_debug.cpp +++ b/renderdoc/driver/d3d12/d3d12_debug.cpp @@ -932,6 +932,12 @@ void D3D12DebugManager::FillCBufferVariables(const std::string &prefix, size_t & 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];