From 9b4a1c900f8badc55bd6604b48c155fb92209952 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 26 Nov 2019 10:39:59 +0000 Subject: [PATCH] Unbind pixel packing buffers when uploading texture data. Closes #1614 --- renderdoc/driver/gl/gl_rendertext.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/renderdoc/driver/gl/gl_rendertext.cpp b/renderdoc/driver/gl/gl_rendertext.cpp index c27e6fe59..a6550be31 100644 --- a/renderdoc/driver/gl/gl_rendertext.cpp +++ b/renderdoc/driver/gl/gl_rendertext.cpp @@ -72,10 +72,20 @@ void WrappedOpenGL::ContextData::CreateDebugData() float maxheight = float(ascent) * stbtt_ScaleForPixelHeight(&f, charPixelHeight); { + PixelPackState pack; PixelUnpackState unpack; + GLuint pixelPackBuffer = 0; + GLuint pixelUnpackBuffer = 0; + GL.glGetIntegerv(eGL_PIXEL_PACK_BUFFER_BINDING, (GLint *)&pixelPackBuffer); + GL.glGetIntegerv(eGL_PIXEL_UNPACK_BUFFER_BINDING, (GLint *)&pixelUnpackBuffer); + GL.glBindBuffer(eGL_PIXEL_PACK_BUFFER, 0); + GL.glBindBuffer(eGL_PIXEL_UNPACK_BUFFER, 0); + + pack.Fetch(false); unpack.Fetch(false); + ResetPixelPackState(false, 1); ResetPixelUnpackState(false, 1); GLuint curtex = 0; @@ -95,7 +105,11 @@ void WrappedOpenGL::ContextData::CreateDebugData() GL.glBindTexture(eGL_TEXTURE_2D, curtex); + pack.Apply(false); unpack.Apply(false); + + GL.glBindBuffer(eGL_PIXEL_PACK_BUFFER, pixelPackBuffer); + GL.glBindBuffer(eGL_PIXEL_UNPACK_BUFFER, pixelUnpackBuffer); } delete[] buf;