'''OpenGL extension ARB.shader_atomic_counters

Automatically generated by the get_gl_extensions script, do not edit!
'''
from OpenGL import platform, constants, constant, arrays
from OpenGL import extensions
from OpenGL.GL import glget
import ctypes
EXTENSION_NAME = 'GL_ARB_shader_atomic_counters'
_DEPRECATED = False
GL_ATOMIC_COUNTER_BUFFER = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER', 0x92C0 )
GL_ATOMIC_COUNTER_BUFFER_BINDING = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_BINDING', 0x92C1 )
GL_ATOMIC_COUNTER_BUFFER_START = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_START', 0x92C2 )
GL_ATOMIC_COUNTER_BUFFER_SIZE = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_SIZE', 0x92C3 )
GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE', 0x92C4 )
GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS', 0x92C5 )
GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES', 0x92C6 )
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER', 0x92C7 )
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER', 0x92C8 )
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER', 0x92C9 )
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER', 0x92CA )
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = constant.Constant( 'GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER', 0x92CB )
GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = constant.Constant( 'GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS', 0x92CC )
GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = constant.Constant( 'GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS', 0x92CD )
GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = constant.Constant( 'GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS', 0x92CE )
GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = constant.Constant( 'GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS', 0x92CF )
GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = constant.Constant( 'GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS', 0x92D0 )
GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = constant.Constant( 'GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS', 0x92D1 )
GL_MAX_VERTEX_ATOMIC_COUNTERS = constant.Constant( 'GL_MAX_VERTEX_ATOMIC_COUNTERS', 0x92D2 )
GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = constant.Constant( 'GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS', 0x92D3 )
GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = constant.Constant( 'GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS', 0x92D4 )
GL_MAX_GEOMETRY_ATOMIC_COUNTERS = constant.Constant( 'GL_MAX_GEOMETRY_ATOMIC_COUNTERS', 0x92D5 )
GL_MAX_FRAGMENT_ATOMIC_COUNTERS = constant.Constant( 'GL_MAX_FRAGMENT_ATOMIC_COUNTERS', 0x92D6 )
GL_MAX_COMBINED_ATOMIC_COUNTERS = constant.Constant( 'GL_MAX_COMBINED_ATOMIC_COUNTERS', 0x92D7 )
GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = constant.Constant( 'GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE', 0x92D8 )
GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = constant.Constant( 'GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS', 0x92DC )
GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = constant.Constant( 'GL_ACTIVE_ATOMIC_COUNTER_BUFFERS', 0x92D9 )
GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = constant.Constant( 'GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX', 0x92DA )
GL_UNSIGNED_INT_ATOMIC_COUNTER = constant.Constant( 'GL_UNSIGNED_INT_ATOMIC_COUNTER', 0x92DB )
glGetActiveAtomicCounterBufferiv = platform.createExtensionFunction( 
'glGetActiveAtomicCounterBufferiv',dll=platform.GL,
extension=EXTENSION_NAME,
resultType=None, 
argTypes=(constants.GLuint,constants.GLuint,constants.GLenum,arrays.GLintArray,),
doc='glGetActiveAtomicCounterBufferiv(GLuint(program), GLuint(bufferIndex), GLenum(pname), GLintArray(params)) -> None',
argNames=('program','bufferIndex','pname','params',),
deprecated=_DEPRECATED,
)


def glInitShaderAtomicCountersARB():
    '''Return boolean indicating whether this extension is available'''
    return extensions.hasGLExtension( EXTENSION_NAME )
