From a24fe0c912743e7c658d6e28ae737692351f6634 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Fri, 10 May 2013 13:47:04 +0100 Subject: [PATCH] glxtrace: Fix glXBindTexImageEXT on NVIDIA. --- wrappers/glxtrace.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/wrappers/glxtrace.py b/wrappers/glxtrace.py index d611d0b..568eb1a 100644 --- a/wrappers/glxtrace.py +++ b/wrappers/glxtrace.py @@ -110,6 +110,17 @@ class GlxTracer(GlTracer): GLint level = 0; GLint internalformat = GL_NONE; _glGetTexLevelParameteriv(target, level, GL_TEXTURE_INTERNAL_FORMAT, &internalformat); + // XXX: GL_TEXTURE_INTERNAL_FORMAT cannot be trusted on NVIDIA + // -- it sometimes returns GL_BGRA, even though GL_BGR/BGRA is + // not a valid internal format. + switch (internalformat) { + case GL_BGR: + internalformat = GL_RGB; + break; + case GL_BGRA: + internalformat = GL_RGBA; + break; + } GLint width = 0; _glGetTexLevelParameteriv(target, level, GL_TEXTURE_WIDTH, &width); GLint height = 0; -- 2.45.2