From ed6b1a738c6adf688274a2c85e499757b91d721a Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 23 Sep 2016 13:03:56 +0200 Subject: [PATCH] Don't set a 0 structure byte size for element size (unstructured buffer) --- renderdoc/driver/d3d12/d3d12_replay.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_replay.cpp b/renderdoc/driver/d3d12/d3d12_replay.cpp index 859dbfc5e..948b11e4f 100644 --- a/renderdoc/driver/d3d12/d3d12_replay.cpp +++ b/renderdoc/driver/d3d12/d3d12_replay.cpp @@ -383,7 +383,8 @@ void D3D12Replay::FillResourceView(D3D12PipelineState::ResourceView &view, D3D12 view.NumElements = desc->nonsamp.srv.Buffer.NumElements; view.BufferFlags = desc->nonsamp.srv.Buffer.Flags; - view.ElementSize = desc->nonsamp.srv.Buffer.StructureByteStride; + if(desc->nonsamp.srv.Buffer.StructureByteStride > 0) + view.ElementSize = desc->nonsamp.srv.Buffer.StructureByteStride; } else if(desc->nonsamp.srv.ViewDimension == D3D12_SRV_DIMENSION_TEXTURE1D) { @@ -442,7 +443,8 @@ void D3D12Replay::FillResourceView(D3D12PipelineState::ResourceView &view, D3D12 view.NumElements = uav.Buffer.NumElements; view.BufferFlags = uav.Buffer.Flags; - view.ElementSize = uav.Buffer.StructureByteStride; + if(uav.Buffer.StructureByteStride > 0) + view.ElementSize = uav.Buffer.StructureByteStride; view.CounterByteOffset = uav.Buffer.CounterOffsetInBytes; }