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 )
a7  OpenGL extension ARB.shader_clock

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

Overview (from the spec)
	
	This extension exposes a 64-bit monotonically incrementing shader
	counter which may be used to derive local timing information within
	a single shader invocation.
	
	Mapping to SPIR-V
	-----------------
	
	For informational purposes (non-specification), the following is an
	expected way for an implementation to map GLSL constructs to SPIR-V
	constructs:
	
	    clock2x32ARB -> OpReadClockKHR with a Scope of Subgroup, Result type of uvec2
	    clockARB -> OpReadClockKHR with a Scope of Subgroup, Result type of uitn64_t

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/shader_clock.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   úX/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GL/ARB/shader_clock.pyÚglInitShaderClockARB!   s    r   )Ú__doc__r   r   r   r   r   r   ÚctypesZOpenGL.raw.GLr   r   ZOpenGL.raw.GL.ARB.shader_clockr
   r   r   r   r   r   Ú<module>   s   