ó
    š3j
  ã                   ó`   • S r SSKJrJrJr  SSKJrJr  SSKrSSKJ	r	J
r
  SSK7  SSKJr  S rg)	a	  OpenGL extension MESA.shader_integer_functions

This module customises the behaviour of the 
OpenGL.raw.GLES2.MESA.shader_integer_functions to provide a more 
Python-friendly API

Overview (from the spec)
        
        GL_ARB_gpu_shader5 extends GLSL in a number of useful ways.  Much of this
        added functionality requires significant hardware support.  There are many
        aspects, however, that can be easily implmented on any GPU with "real"
        integer support (as opposed to simulating integers using floating point
        calculations).
        
        This extension provides a set of new features to the OpenGL Shading
        Language to support capabilities of these GPUs, extending the
        capabilities of version 1.30 of the OpenGL Shading Language and version
        3.00 of the OpenGL ES Shading Language.  Shaders using the new
        functionality provided by this extension should enable this
        functionality via the construct
        
          #extension GL_MESA_shader_integer_functions : require   (or enable)
        
        This extension provides a variety of new features for all shader types,
        including:
        
          * support for implicitly converting signed integer types to unsigned
            types, as well as more general implicit conversion and function
            overloading infrastructure to support new data types introduced by
            other extensions;
        
          * new built-in functions supporting:
        
            * splitting a floating-point number into a significand and exponent
              (frexp), or building a floating-point number from a significand and
              exponent (ldexp);
        
            * integer bitfield manipulation, including functions to find the
              position of the most or least significant set bit, count the number
              of one bits, and bitfield insertion, extraction, and reversal;
        
            * extended integer precision math, including add with carry, subtract
              with borrow, and extenended multiplication;
        
        The resulting extension is a strict subset of GL_ARB_gpu_shader5.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/MESA/shader_integer_functions.txt
é    )ÚplatformÚconstantÚarrays)Ú
extensionsÚwrapperN)Ú_typesÚ_glgets)Ú*)Ú_EXTENSION_NAMEc                  ó:   • SSK Jn   U R                  " [        5      $ )z=Return boolean indicating whether this extension is availabler   ©r   )ÚOpenGLr   ÚhasGLExtensionr   r   s    Úd/home/wildlama/miniconda3/lib/python3.13/site-packages/OpenGL/GLES2/MESA/shader_integer_functions.pyÚ glInitShaderIntegerFunctionsMESAr   9   s   € å!Ø×$Ò$¤oÓ7Ð7ó    )Ú__doc__r   r   r   r   r   r   ÚctypesÚOpenGL.raw.GLES2r   r	   Ú.OpenGL.raw.GLES2.MESA.shader_integer_functionsr   r   © r   r   Ú<module>r      s'   ðñ0÷b .Ñ -ß &Û ß ,Ü <Ý Jó8r   