Name EXT_debug_label Name Strings GL_EXT_debug_label Contributors Seth Sowerby Benj Lipchak Jean-François Roy Charles Brissart Contact Benj Lipchak, Apple (lipchak 'at' apple.com) Status Complete Version Date: October 7, 2013 Revision: 4 Number OpenGL Extension #439 OpenGL ES Extension #98 Dependencies Requires OpenGL ES 1.1. Written based on the wording of the OpenGL ES 2.0.25 Full Specification (November 2, 2010). OpenGL ES 1.1 affects the definition of this extension. OES_framebuffer_object affects the definition of this extension. OES_vertex_array_object affects the definition of this extension. EXT_occlusion_query_boolean affects the definition of this extension. EXT_separate_shader_objects affects the definition of this extension. OpenGL ES 3.0 affects the definition of this extension. OpenGL 3.3+ and 4.0+ affect the definition of this extension. Overview This extension defines a mechanism for OpenGL and OpenGL ES applications to label their objects (textures, buffers, shaders, etc.) with a descriptive string. When profiling or debugging such an application within a debugger or profiler it is difficult to identify resources from their object names. Even when the resource itself is viewed it can be problematic to differentiate between similar resources. Attaching a label to an object helps obviate this difficulty. The intended purpose of this is purely to improve the user experience within OpenGL and OpenGL ES development tools. New Procedures and Functions void LabelObjectEXT(enum type, uint object, sizei length, const char *label); void GetObjectLabelEXT(enum type, uint object, sizei bufSize, sizei *length, char *label); New Tokens Accepted by the parameter of LabelObjectEXT and GetObjectLabelEXT: BUFFER_OBJECT_EXT 0x9151 SHADER_OBJECT_EXT 0x8B48 PROGRAM_OBJECT_EXT 0x8B40 VERTEX_ARRAY_OBJECT_EXT 0x9154 QUERY_OBJECT_EXT 0x9153 PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL Operation) None Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) None Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment Operations and the Framebuffer) None Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions) Add a new section titled Debug Labels Debug labels provide a method for annotating an object (texture, buffer, shader, etc.) with a descriptive text label. These labels may then be used by a tool such as a debugger or profiler to describe labeled objects. The command void LabelObjectEXT(enum type, uint object, sizei length, const char *label); labels the object of type with the label