From 17e22710300e35c646e9e678bf8111484a07e557 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 3 Oct 2022 11:17:03 +0100 Subject: [PATCH] Include atomic and SSBO buffers in GL read-write resources list --- renderdoc/api/replay/pipestate.inl | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/renderdoc/api/replay/pipestate.inl b/renderdoc/api/replay/pipestate.inl index cd14f58ed..18818911f 100644 --- a/renderdoc/api/replay/pipestate.inl +++ b/renderdoc/api/replay/pipestate.inl @@ -1530,7 +1530,8 @@ rdcarray PipeState::GetReadWriteResources(ShaderStage stage, } else if(IsCaptureGL()) { - ret.reserve(m_GL->images.size()); + ret.reserve(m_GL->images.size() + m_GL->atomicBuffers.size() + + m_GL->shaderStorageBuffers.size()); for(int i = 0; i < m_GL->images.count(); i++) { @@ -1544,6 +1545,26 @@ rdcarray PipeState::GetReadWriteResources(ShaderStage stage, ret.push_back(BoundResourceArray(key, {val})); } + + for(int i = 0; i < m_GL->atomicBuffers.count(); i++) + { + Bindpoint key(0, i); + BoundResource val; + + val.resourceId = m_GL->atomicBuffers[i].resourceId; + + ret.push_back(BoundResourceArray(key, {val})); + } + + for(int i = 0; i < m_GL->shaderStorageBuffers.count(); i++) + { + Bindpoint key(0, i); + BoundResource val; + + val.resourceId = m_GL->atomicBuffers[i].resourceId; + + ret.push_back(BoundResourceArray(key, {val})); + } } else if(IsCaptureVK()) {