From 75495bda38d1916230bb3193e5e6fe7fc6faba13 Mon Sep 17 00:00:00 2001 From: Baldur Karlsson Date: Thu, 19 Jun 2014 16:05:03 +0100 Subject: [PATCH] Set BufferRecords in the right spot, before serialising --- .../driver/gl/wrappers/gl_buffer_funcs.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp index 345005e92..f4e9eaccb 100644 --- a/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_buffer_funcs.cpp @@ -518,6 +518,16 @@ bool WrappedOpenGL::Serialise_glBindBufferBase(GLenum target, GLuint index, GLui void WrappedOpenGL::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { + if(m_State >= WRITING) + { + size_t idx = BufferIdx(target); + + if(buffer == 0) + m_BufferRecord[idx] = NULL; + else + m_BufferRecord[idx] = GetResourceManager()->GetResourceRecord(BufferRes(buffer)); + } + if(m_State == WRITING_CAPFRAME) { SCOPED_SERIALISE_CONTEXT(BIND_BUFFER_BASE); @@ -548,6 +558,16 @@ bool WrappedOpenGL::Serialise_glBindBufferRange(GLenum target, GLuint index, GLu void WrappedOpenGL::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { + if(m_State >= WRITING) + { + size_t idx = BufferIdx(target); + + if(buffer == 0) + m_BufferRecord[idx] = NULL; + else + m_BufferRecord[idx] = GetResourceManager()->GetResourceRecord(BufferRes(buffer)); + } + if(m_State == WRITING_CAPFRAME) { SCOPED_SERIALISE_CONTEXT(BIND_BUFFER_RANGE);