X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=glstate.py;h=c348d2b99b69dd2273ca30067f6a5c1fe237f7c6;hb=353f0535f43b54d04cc9c8080790ffac606e5b0b;hp=c09e4fc9d3f8b5ad5c4a33a40286583154433bf9;hpb=f7bd92362651b46d2a00a7044c9cce8d21540b26;p=apitrace diff --git a/glstate.py b/glstate.py index c09e4fc..c348d2b 100644 --- a/glstate.py +++ b/glstate.py @@ -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 ' }'