a
    ij                     @   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 )
aa  OpenGL extension QCOM.shader_framebuffer_fetch_noncoherent

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

Overview (from the spec)
	
	Existing extensions such as EXT_shader_framebuffer_fetch and 
	ARM_shader_framebuffer_fetch_depth_stencil allow fragment
	shaders to read existing framebuffer color or depth/stencil data as input.
	This extension adds support for reading those same inputs with 
	relaxed coherency requirements.  This mode can avoid expensive
	per-primitive flushes of the pixel pipeline and may offer performance
	improvements in some implementations.
	
	When the relaxed coherency mode is enabled, reads of the framebuffer data
	by the fragment shader will guarantee defined results only if each sample
	is touched no more than once in any single rendering pass.  The command
	FramebufferFetchBarrierQCOM() is provided to indicate a boundary between
	passes.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/QCOM/shader_framebuffer_fetch_noncoherent.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   t/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GLES2/QCOM/shader_framebuffer_fetch_noncoherent.py+glInitShaderFramebufferFetchNoncoherentQCOM!   s    r   )__doc__r   r   r   r   r   r   ctypesZOpenGL.raw.GLES2r   r   Z:OpenGL.raw.GLES2.QCOM.shader_framebuffer_fetch_noncoherentr
   r   r   r   r   r   <module>   s   