Difference between revisions of "GLAPI/glPushDebugGroup"

From OpenGL Wiki
Jump to: navigation, search
m (Removing references to specs that don't exist anymore.)
(More clarity about the message this function generates.)
 
Line 22: Line 22:
 
== Description ==
 
== Description ==
  
'''glPushDebugGroup''' pushes a debug group described by the string {{param|message}} into the command stream. The value of {{param|id}} specifies the ID of messages generated. The parameter {{param|length}} contains the number of characters in {{param|message}}. If {{param|length}} is negative, it is implied that {{param|message}} contains a null terminated string. The message has the specified {{param|source}} and {{param|id}}, the {{param|type}}{{enum|GL_DEBUG_TYPE_PUSH_GROUP}}, and {{param|severity}}{{enum|GL_DEBUG_SEVERITY_NOTIFICATION}}. The GL will put a new debug group on top of the debug group stack which inherits the control of the volume of debug output of the debug group previously residing on the top of the debug group stack. Because debug groups are strictly hierarchical, any additional control of the debug output volume will only apply within the active debug group and the debug groups pushed on top of the active debug group.
+
'''glPushDebugGroup''' pushes a debug group described by the string {{param|message}} into the command stream, and emits a message as if {{apifunc|glDebugMessageInsert}} were called. The value of {{param|id}} specifies the ID of messages generated. The parameter {{param|length}} contains the number of characters in {{param|message}}. If {{param|length}} is negative, it is implied that {{param|message}} contains a null terminated string. The value of {{param|source}} must be {{enum|GL_DEBUG_SOURCE_APPLICATION}} or {{enum|DEBUG_SOURCE_THIRD_PARTY}}. The generated message will have the same {{param|source}} and {{param|id}}; the value of {{param|type}} will be {{enum|GL_DEBUG_TYPE_PUSH_GROUP}} and the value of {{param|severity}} will be {{enum|GL_DEBUG_SEVERITY_NOTIFICATION}}. The GL will put a new debug group on top of the debug group stack which inherits the control of the volume of debug output of the debug group previously residing on the top of the debug group stack. Because debug groups are strictly hierarchical, any additional control of the debug output volume will only apply within the active debug group and the debug groups pushed on top of the active debug group.
  
 
== Errors ==
 
== Errors ==
Line 36: Line 36:
 
== See Also ==
 
== See Also ==
  
{{apifunc|glPopDebugGroup}}, {{apifunc|glObjectLabel}}, {{apifunc|glObjectPtrLabel}}.
+
{{apifunc|glDebugMessageInsert}}, {{apifunc|glPopDebugGroup}}, {{apifunc|glObjectLabel}}, {{apifunc|glObjectPtrLabel}}.
  
 
== Copyright ==
 
== Copyright ==

Latest revision as of 06:58, 5 February 2015

glPushDebugGroup
Core in version 4.6
Core since version 4.3
Core ARB extension KHR_debug

glPushDebugGroup: push a named debug group into the command stream

Function Definition

 void glPushDebugGroup(GLenum source​, GLuint id​, GLsizei length​, const char * message​);
source
The source of the debug message.
id
The identifier of the message.
length
The length of the message to be sent to the debug output stream.
message
The a string containing the message to be sent to the debug output stream.

Description

glPushDebugGroup pushes a debug group described by the string message​ into the command stream, and emits a message as if glDebugMessageInsert were called. The value of id​ specifies the ID of messages generated. The parameter length​ contains the number of characters in message​. If length​ is negative, it is implied that message​ contains a null terminated string. The value of source​ must be GL_DEBUG_SOURCE_APPLICATION or DEBUG_SOURCE_THIRD_PARTY. The generated message will have the same source​ and id​; the value of type​ will be GL_DEBUG_TYPE_PUSH_GROUP and the value of severity​ will be GL_DEBUG_SEVERITY_NOTIFICATION. The GL will put a new debug group on top of the debug group stack which inherits the control of the volume of debug output of the debug group previously residing on the top of the debug group stack. Because debug groups are strictly hierarchical, any additional control of the debug output volume will only apply within the active debug group and the debug groups pushed on top of the active debug group.

Errors

GL_INVALID_ENUM is generated if the value of source​ is neither GL_DEBUG_SOURCE_APPLICATION nor GL_DEBUG_SOURCE_THIRD_PARTY.

GL_INVALID_VALUE is generated if length​ is negative and the number of characters in message​, excluding the null-terminator, is not less than the value of GL_MAX_DEBUG_MESSAGE_LENGTH.

Associated Gets

glGet with argument GL_MAX_DEBUG_MESSAGE_LENGTH.

See Also

glDebugMessageInsert, glPopDebugGroup, glObjectLabel, glObjectPtrLabel.

Copyright

Copyright © 2012 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.