]> git.cworth.org Git - apitrace/blobdiff - glstate.py
Always write snappy chunk lengths in little endian.
[apitrace] / glstate.py
index c09e4fc9d3f8b5ad5c4a33a40286583154433bf9..c348d2b99b69dd2273ca30067f6a5c1fe237f7c6 100644 (file)
@@ -259,6 +259,13 @@ class StateDumper:
         print '}'
         print
 
+        print 'static void'
+        print 'dumpFramebufferAttachementParameters(JSONWriter &json, GLenum target, GLenum attachment)'
+        print '{'
+        self.dump_attachment_parameters('target', 'attachment')
+        print '}'
+        print
+
         print 'void'
         print 'dumpEnum(JSONWriter &json, GLenum pname)'
         print '{'
@@ -373,13 +380,18 @@ class StateDumper:
         print '            json.beginMember(name);'
         print '            glActiveTexture(GL_TEXTURE0 + unit);'
         print '            json.beginObject();'
-        print '            GLint texture;'
+        print '            GLboolean enabled;'
+        print '            GLint binding;'
         print
         for target, binding in texture_targets:
             print '            // %s' % target
-            print '            texture = 0;'
-            print '            glGetIntegerv(%s, &texture);' % binding
-            print '            if (glIsEnabled(%s) || texture) {' % target
+            print '            enabled = GL_FALSE;'
+            print '            glGetBooleanv(%s, &enabled);' % target
+            print '            json.writeBoolMember("%s", enabled);' % target
+            print '            binding = 0;'
+            print '            glGetIntegerv(%s, &binding);' % binding
+            print '            json.writeNumberMember("%s", binding);' % binding
+            print '            if (enabled || binding) {'
             print '                json.beginMember("%s");' % target
             print '                json.beginObject();'
             self.dump_atoms(glGetTexParameter, target)
@@ -410,11 +422,10 @@ class StateDumper:
             print '                json.beginObject();'
             print '                for (GLint i = 0; i < max_color_attachments; ++i) {'
             print '                    GLint color_attachment = GL_COLOR_ATTACHMENT0 + i;'
-            self.dump_attachment_parameters(target, 'color_attachment')
+            print '                    dumpFramebufferAttachementParameters(json, %s, color_attachment);' % target
             print '                }'
-            self.dump_attachment_parameters(target, 'GL_DEPTH_ATTACHMENT')
-            self.dump_attachment_parameters(target, 'GL_STENCIL_ATTACHMENT')
-            #self.dump_attachment_parameters(target, 'GL_DEPTH_STENCIL_ATTACHMENT')
+            print '                dumpFramebufferAttachementParameters(json, %s, GL_DEPTH_ATTACHMENT);' % target
+            print '                dumpFramebufferAttachementParameters(json, %s, GL_STENCIL_ATTACHMENT);' % target
             print '                json.endObject();'
             print '                json.endMember(); // %s' % target
             print '            }'