'''Autogenerated by xml_generate script, do not edit!'''
from OpenGL import platform as _p, arrays
# Code generation uses this
from OpenGL.raw.GL import _types as _cs
# End users want this...
from OpenGL.raw.GL._types import *
from OpenGL.raw.GL import _errors
from OpenGL.constant import Constant as _C

import ctypes
_EXTENSION_NAME = 'GL_ARB_shader_atomic_counters'
def _f( function ):
    return _p.createFunction( function,_p.PLATFORM.GL,'GL_ARB_shader_atomic_counters',error_checker=_errors._error_checker)
GL_ACTIVE_ATOMIC_COUNTER_BUFFERS=_C('GL_ACTIVE_ATOMIC_COUNTER_BUFFERS',0x92D9)
GL_ATOMIC_COUNTER_BUFFER=_C('GL_ATOMIC_COUNTER_BUFFER',0x92C0)
GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS=_C('GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS',0x92C5)
GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES=_C('GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES',0x92C6)
GL_ATOMIC_COUNTER_BUFFER_BINDING=_C('GL_ATOMIC_COUNTER_BUFFER_BINDING',0x92C1)
GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE=_C('GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE',0x92C4)
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER=_C('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER',0x92CB)
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER=_C('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER',0x92CA)
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER=_C('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER',0x92C8)
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER=_C('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER',0x92C9)
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER=_C('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER',0x92C7)
GL_ATOMIC_COUNTER_BUFFER_SIZE=_C('GL_ATOMIC_COUNTER_BUFFER_SIZE',0x92C3)
GL_ATOMIC_COUNTER_BUFFER_START=_C('GL_ATOMIC_COUNTER_BUFFER_START',0x92C2)
GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS=_C('GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS',0x92DC)
GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE=_C('GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE',0x92D8)
GL_MAX_COMBINED_ATOMIC_COUNTERS=_C('GL_MAX_COMBINED_ATOMIC_COUNTERS',0x92D7)
GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS=_C('GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS',0x92D1)
GL_MAX_FRAGMENT_ATOMIC_COUNTERS=_C('GL_MAX_FRAGMENT_ATOMIC_COUNTERS',0x92D6)
GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS=_C('GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS',0x92D0)
GL_MAX_GEOMETRY_ATOMIC_COUNTERS=_C('GL_MAX_GEOMETRY_ATOMIC_COUNTERS',0x92D5)
GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS=_C('GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS',0x92CF)
GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS=_C('GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS',0x92D3)
GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS=_C('GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS',0x92CD)
GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS=_C('GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS',0x92D4)
GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS=_C('GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS',0x92CE)
GL_MAX_VERTEX_ATOMIC_COUNTERS=_C('GL_MAX_VERTEX_ATOMIC_COUNTERS',0x92D2)
GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS=_C('GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS',0x92CC)
GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX=_C('GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX',0x92DA)
GL_UNSIGNED_INT_ATOMIC_COUNTER=_C('GL_UNSIGNED_INT_ATOMIC_COUNTER',0x92DB)
@_f
@_p.types(None,_cs.GLuint,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetActiveAtomicCounterBufferiv(program,bufferIndex,pname,params):pass
