From 4db20908dfcf36be37c04a86c2d633f616a0cbe0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Sat, 11 Jun 2011 12:19:44 +0100 Subject: [PATCH] Don't resize the window on glViewport if there's a FBO bound. --- glretrace.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/glretrace.py b/glretrace.py index 5d58b2d..b775609 100644 --- a/glretrace.py +++ b/glretrace.py @@ -200,16 +200,20 @@ class GlRetracer(Retracer): def call_function(self, function): if function.name == "glViewport": - print ' if (glretrace::drawable) {' - print ' int drawable_width = x + width;' - print ' int drawable_height = y + height;' - print ' if (drawable_width > (int)glretrace::drawable->width ||' - print ' drawable_height > (int)glretrace::drawable->height) {' - print ' glretrace::drawable->resize(drawable_width, drawable_height);' - print ' if (!glretrace::drawable->visible) {' - print ' glretrace::drawable->show();' + print ' GLint draw_framebuffer = 0;' + print ' glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, &draw_framebuffer);' + print ' if (draw_framebuffer == 0) {' + print ' if (glretrace::drawable) {' + print ' int drawable_width = x + width;' + print ' int drawable_height = y + height;' + print ' if (drawable_width > (int)glretrace::drawable->width ||' + print ' drawable_height > (int)glretrace::drawable->height) {' + print ' glretrace::drawable->resize(drawable_width, drawable_height);' + print ' if (!glretrace::drawable->visible) {' + print ' glretrace::drawable->show();' + print ' }' + print ' glScissor(0, 0, drawable_width, drawable_height);' print ' }' - print ' glScissor(0, 0, drawable_width, drawable_height);' print ' }' print ' }' -- 2.7.4