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()) {