a
    i‚ja  ã                   @   s`   d Z ddlmZmZmZ ddlmZmZ ddlZddlm	Z	m
Z
 ddlT ddlmZ dd	„ ZdS )
ab  OpenGL extension AMD.shader_atomic_counter_ops

This module customises the behaviour of the 
OpenGL.raw.GL.AMD.shader_atomic_counter_ops to provide a more 
Python-friendly API

Overview (from the spec)
	
	The ARB_shader_atomic_counters extension introduced atomic counters, but
	it limits list of potential operations that can be performed on them to
	increment, decrement, and query. This extension extends the list of GLSL
	built-in functions that can operate on atomic counters. The list of new
	operations include:
	
	  * Increment and decrement with wrap
	  * Addition and subtraction
	  * Minimum and maximum
	  * Bitwise operators (AND, OR, XOR, etc.)
	  * Masked OR operator
	  * Exchange, and compare and exchange operators

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/AMD/shader_atomic_counter_ops.txt
é    )ÚplatformÚconstantÚarrays)Ú
extensionsÚwrapperN)Ú_typesÚ_glgets)Ú*)Ú_EXTENSION_NAMEc                  C   s   ddl m}  |  t¡S )z=Return boolean indicating whether this extension is availabler   ©r   )ÚOpenGLr   ZhasGLExtensionr
   r   © r   úe/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GL/AMD/shader_atomic_counter_ops.pyÚglInitShaderAtomicCounterOpsAMD    s    r   )Ú__doc__r   r   r   r   r   r   ÚctypesZOpenGL.raw.GLr   r   Z+OpenGL.raw.GL.AMD.shader_atomic_counter_opsr
   r   r   r   r   r   Ú<module>   s   