a
    i‚jì  ã                   @   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 )
aÕ  OpenGL extension QCOM.shader_framebuffer_fetch_rate

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

Overview (from the spec)
	
	When certain built-ins (e.g. gl_LastFragData, gl_LastFragStencilARM)
	are referenced in the shader, the shader is required to execute at sample-rate
	if the attachments are multisampled.  In some use-cases executing such shaders
	at fragment-rate is actually the preferred behavior.  When this extension is
	enabled, such GLSL shaders will execute at fragment-rate and the built-in
	will return a per-fragment value.  This avoids the significant performance
	penalty that would otherwise be incurred with sample-rate shading.
	
	The following built-ins are affected when this extension is enabled:
	
	    gl_LastFragData      (from EXT_shader_framebuffer_fetch)
	    gl_LastFragDepthARM  (from ARM_shader_framebuffer_fetch_depth_stencil)
	
	The following built-ins are disallowed when this extension is enabled:
	
	    gl_SampleID
	    gl_SamplePosition
	    interpolateAtSample()

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/QCOM/shader_framebuffer_fetch_rate.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   úm/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GLES2/QCOM/shader_framebuffer_fetch_rate.pyÚ$glInitShaderFramebufferFetchRateQCOM&   s    r   )Ú__doc__r   r   r   r   r   r   ÚctypesZOpenGL.raw.GLES2r   r   Z3OpenGL.raw.GLES2.QCOM.shader_framebuffer_fetch_rater
   r   r   r   r   r   Ú<module>   s   