+ object_bindings = [
+ ('GL_BUFFER', 'GL_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_COLOR_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_EDGE_FLAG_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_ELEMENT_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_INDEX_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_NORMAL_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_TRANSFORM_FEEDBACK_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_VERTEX_ARRAY_BUFFER_BINDING'),
+ ('GL_BUFFER', 'GL_WEIGHT_ARRAY_BUFFER_BINDING'),
+ ('GL_FRAMEBUFFER', 'GL_DRAW_FRAMEBUFFER_BINDING'),
+ ('GL_FRAMEBUFFER', 'GL_READ_FRAMEBUFFER_BINDING'),
+ ('GL_PROGRAM', 'GL_CURRENT_PROGRAM'),
+ ('GL_PROGRAM_PIPELINE', 'GL_PROGRAM_PIPELINE_BINDING'),
+ ('GL_RENDERBUFFER', 'GL_RENDERBUFFER_BINDING'),
+ ('GL_TRANSFORM_FEEDBACK', 'GL_TRANSFORM_FEEDBACK_BINDING'),
+ ('GL_VERTEX_ARRAY', 'GL_VERTEX_ARRAY_BINDING'),
+ ]
+
+ def dump_labels(self):
+ for object_type, object_binding in self.object_bindings:
+ member_name = object_binding.replace('BINDING', 'LABEL')
+ if member_name == object_binding:
+ member_name += '_LABEL'
+ print ' {'
+ print ' GLint binding = 0;'
+ print ' glGetIntegerv(%s, &binding);' % object_binding
+ print ' dumpObjectLabel(json, context, %s, binding, "%s");' % (object_type, member_name)
+ print ' }'
+