From 7478bda617aaf4631ec29741352bba9c3fb68b05 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 22 Jul 2019 19:57:14 +0100 Subject: [PATCH] If queried buffer size&offset are 0, don't bind with range. Closes #1461 --- renderdoc/driver/gl/gl_common.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/gl/gl_common.cpp b/renderdoc/driver/gl/gl_common.cpp index 8312de783..16ff6f2a6 100644 --- a/renderdoc/driver/gl/gl_common.cpp +++ b/renderdoc/driver/gl/gl_common.cpp @@ -1094,8 +1094,13 @@ void GLPushPopState::Pop(bool modern) if(modern) { for(size_t i = 0; i < ARRAY_COUNT(idxubo); i++) - GL.glBindBufferRange(eGL_UNIFORM_BUFFER, (GLuint)i, idxubo[i].buf, (GLintptr)idxubo[i].offs, - (GLsizeiptr)idxubo[i].size); + { + if(idxubo[i].offs == 0 && idxubo[i].size == 0) + GL.glBindBufferBase(eGL_UNIFORM_BUFFER, (GLuint)i, idxubo[i].buf); + else + GL.glBindBufferRange(eGL_UNIFORM_BUFFER, (GLuint)i, idxubo[i].buf, (GLintptr)idxubo[i].offs, + (GLsizeiptr)idxubo[i].size); + } GL.glBindBuffer(eGL_UNIFORM_BUFFER, ubo);