]> git.cworth.org Git - apitrace/commitdiff
glxtrace: Fix glXBindTexImageEXT on NVIDIA.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 10 May 2013 12:47:04 +0000 (13:47 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 10 May 2013 12:47:04 +0000 (13:47 +0100)
wrappers/glxtrace.py

index d611d0b2588c197616adf4b2477a3279b2e5d65b..568eb1a129ad3db1d8d38e806c87abbe1efddd68 100644 (file)
@@ -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;