From c06aeebd3a70253e5a813ff91244ba5aa47904bc Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 3 Dec 2015 13:14:15 +0100 Subject: [PATCH] Crash fix for non-indexed meshes --- renderdocui/Windows/BufferViewer.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/renderdocui/Windows/BufferViewer.cs b/renderdocui/Windows/BufferViewer.cs index cb2da4664..84d89d3e7 100644 --- a/renderdocui/Windows/BufferViewer.cs +++ b/renderdocui/Windows/BufferViewer.cs @@ -970,11 +970,6 @@ namespace renderdocui.Windows ret.Topology = ret.PostVS.topo; ret.IndexCount = ret.PostVS.numVerts; - - uint stride = ret.PostVS.stride; - - if (stride != 0 && (input.Drawcall.flags & DrawcallFlags.UseIBuffer) == 0) - ret.IndexCount = Math.Min(ret.IndexCount, (uint)ret.Buffers[0].Length / stride); } ret.Indices = null; @@ -1064,8 +1059,15 @@ namespace renderdocui.Windows } if (ret.PostVS.buf != ResourceId.Null) + { ret.Buffers[0] = r.GetBufferData(ret.PostVS.buf, ret.PostVS.offset, (maxIndex + 1) * ret.PostVS.stride); + uint stride = ret.PostVS.stride; + + if (stride != 0 && (input.Drawcall.flags & DrawcallFlags.UseIBuffer) == 0) + ret.IndexCount = Math.Min(ret.IndexCount, (uint)ret.Buffers[0].Length / stride); + } + return ret; } else if (input.Buffers != null && m_Output != null)