'''Autogenerated by get_gl_extensions script, do not edit!'''
from OpenGL import platform as _p, constants as _cs, arrays
from OpenGL.GL import glget
import ctypes
EXTENSION_NAME = 'GL_KHR_debug'
def _f( function ):
    return _p.createFunction( function,_p.GL,'GL_KHR_debug',False)
_p.unpack_constants( """GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
GL_DEBUG_CALLBACK_FUNCTION 0x8244
GL_DEBUG_CALLBACK_USER_PARAM 0x8245
GL_DEBUG_SOURCE_API 0x8246
GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
GL_DEBUG_SOURCE_APPLICATION 0x824A
GL_DEBUG_SOURCE_OTHER 0x824B
GL_DEBUG_TYPE_ERROR 0x824C
GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
GL_DEBUG_TYPE_PORTABILITY 0x824F
GL_DEBUG_TYPE_PERFORMANCE 0x8250
GL_DEBUG_TYPE_OTHER 0x8251
GL_DEBUG_TYPE_MARKER 0x8268
GL_DEBUG_TYPE_PUSH_GROUP 0x8269
GL_DEBUG_TYPE_POP_GROUP 0x826A
GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
GL_DEBUG_GROUP_STACK_DEPTH 0x826D
GL_BUFFER 0x82E0
GL_SHADER 0x82E1
GL_PROGRAM 0x82E2
GL_QUERY 0x82E3
GL_PROGRAM_PIPELINE 0x82E4
GL_SAMPLER 0x82E6
GL_DISPLAY_LIST 0x82E7
GL_MAX_LABEL_LENGTH 0x82E8
GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
GL_DEBUG_LOGGED_MESSAGES 0x9145
GL_DEBUG_SEVERITY_HIGH 0x9146
GL_DEBUG_SEVERITY_MEDIUM 0x9147
GL_DEBUG_SEVERITY_LOW 0x9148
GL_DEBUG_OUTPUT 0x92E0
GL_CONTEXT_FLAG_DEBUG_BIT 0x2""", globals())
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum,_cs.GLenum,_cs.GLsizei,arrays.GLuintArray,_cs.GLboolean)
def glDebugMessageControl(source,type,severity,count,ids,enabled):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum,_cs.GLuint,_cs.GLenum,_cs.GLsizei,arrays.GLcharArray)
def glDebugMessageInsert(source,type,id,severity,length,buf):pass
@_f
@_p.types(None,_cs.GLDEBUGPROC,ctypes.POINTER(_cs.void))
def glDebugMessageCallback(callback,userParam):pass
@_f
@_p.types(_cs.GLuint,_cs.GLuint,_cs.GLsizei,arrays.GLuintArray,arrays.GLuintArray,arrays.GLuintArray,arrays.GLuintArray,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetDebugMessageLog(count,bufsize,sources,types,ids,severities,lengths,messageLog):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLcharArray)
def glPushDebugGroup(source,id,length,message):pass
@_f
@_p.types(None,)
def glPopDebugGroup():pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLcharArray)
def glObjectLabel(identifier,name,length,label):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetObjectLabel(identifier,name,bufSize,length,label):pass
@_f
@_p.types(None,ctypes.POINTER(_cs.void),_cs.GLsizei,arrays.GLcharArray)
def glObjectPtrLabel(ptr,length,label):pass
@_f
@_p.types(None,ctypes.POINTER(_cs.void),_cs.GLsizei,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetObjectPtrLabel(ptr,bufSize,length,label):pass


def glInitDebugKHR():
    '''Return boolean indicating whether this extension is available'''
    from OpenGL import extensions
    return extensions.hasGLExtension( EXTENSION_NAME )
