2013
Khronos Group
glPushDebugGroup
3G

# glPushDebugGroup

push a named debug group into the command stream

## C Specification

                    void glPushDebugGroup
                    GLenum source
                    GLuint id
                    GLsizei length
                    const char * message

## Parameters

`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. 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 message has the specified `source` and `id`, the `type` `GL_DEBUG_TYPE_PUSH_GROUP`, and `severity` `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

glPopDebugGroup, glObjectLabel, glObjectPtrLabel.

## Copyright

Copyright 2013 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/.