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 '{'
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)
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 ' }'