ó
N×˜Nc           @   sÌ   d  d l  Z  d  d l Z d Z d Z d Z d „  Z d „  Z d „  Z d „  Z d	 d	 d
 „ Z	 d	 d	 d „ Z
 d „  Z d „  Z d „  Z e d k rÈ i  Z e e ƒ x e j ƒ  D] \ Z Z e GHq° Wn  d S(   iÿÿÿÿNi   i   i   c         C   sB   | d k r0 |  d k r d S|  d k r, d Sd S|  d t  | ƒ S(   Ni   t   it   intt   ut   uintt   floatt   vec(   t   str(   t   gt   size(    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   vec_type   s    c         C   s?   |  d j  ƒ  r# t |  d ƒ } n |  j d ƒ r; d } n  | S(   Ni    t   Cubei   (   t   isdigitR   t
   startswith(   t   sampler_typet   sampler_dim(    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   get_sampler_dim   s
    	c         C   s2   t  |  ƒ } |  j d ƒ d k r. | d 7} n  | S(   Nt   Arrayiÿÿÿÿi   (   R   t   find(   R   t	   coord_dim(    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   get_coord_dim    s    c         C   s?   | } |  j  d ƒ d k r( | d 7} n  | r; | d 7} n  | S(   Nt   Shadowiÿÿÿÿi   (   R   (   R   t   use_projt   unused_fieldst	   extra_dim(    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   get_extra_dim'   s    i    c   
      C   s%  t  | ƒ } t | | t @| ƒ } t | ƒ } | t @rA d } n
 |  d } d G| GHd GHd |  d | d GHd t | d k r† d	 n d
 | | ƒ d G| d k r¬ d GnI | d k r¿ d Gn6 | d k rõ t d
 | ƒ }	 d |	 d Gd |	 d Gn  | t @rd t d	 | ƒ d Gn  | d k r*d Gn  d | G| Gd G| d k rYd d |  d Gn d G| t @rnd Gn d G| d k r×| t @r£d d | | d  d Gn d! G| d" k rºd# Gq×| j d$ ƒ rÐd% Gq×d& Gn  | d k rêd' Gn2 | d k s| d k r	d( Gn | d k rd) Gn  d* GHd  S(+   NR   t   vec4s      (signatures        (parameterss          (declare (in) t   samplers	    sampler)t   txfR    t    s    P)t   txls    
       (declare (in) float lod)s   
       (declare (in) int lod)t   txds   
       (declare (in) s    dPdx)s    dPdy)s   
       (declare (const_in) s    offset)t   txbs!   
       (declare (in) float bias)s   )
     ((return (s   (var_ref sampler)i    s   (swiz t   xyzws    (var_ref P))s   (var_ref P)s   (var_ref offset)t   0i   t   1t   2DArrayShadows   (swiz w (var_ref P))R   s   (swiz z (var_ref P))s   ()s   (var_ref bias)s   (var_ref lod)s   ((var_ref dPdx) (var_ref dPdy))s   ))))
(   R   R   t   ProjR   t   SingleR	   t   Offsett   endswith(
   R   t   tex_instR   t   variantR   R   R   t
   offset_dimt   return_typet	   grad_type(    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   generate_sigs/   sZ    
	
	+


c         C   sF   t  d |  | | | ƒ t  d |  | | | ƒ t  d |  | | | ƒ d  S(   NR   R    R   (   R-   (   R(   R   R)   R   (    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   generate_fiu_sigsq   s    c         C   s   t  j  ƒ  t _ d |  GHd  S(   Ns   ((function (   t   StringIOt   syst   stdout(   t   name(    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   start_functionv   s    c         C   s)   d GHt  j j ƒ  |  | <t  j j ƒ  d  S(   Ns   ))(   R0   R1   t   getvaluet   close(   t   fsR2   (    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   end_functionz   s    c         C   s  t  d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d	 d d
 t d ƒ t d	 d d t ƒ t d	 d d t ƒ t d	 d d t ƒ t d	 d d t ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d	 d d
 t d ƒ t d	 d d t ƒ t d	 d d t ƒ t d	 d d t ƒ t d	 d d t ƒ t |  d ƒ t  d ƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t |  d ƒ t  d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d	 d d
 t d ƒ t d	 d d t ƒ t d	 d d t ƒ t |  d ƒ t  d ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t d	 d d t t Bƒ t |  d ƒ t  d ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t d	 d d t t Bƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t d	 d d t t Bƒ t |  d ƒ t  d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t |  d ƒ t  d ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t |  d ƒ t  d ƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d	 d d
 t t Bt Bd ƒ t d	 d d t t Bt Bƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d	 d d
 t t Bt Bd ƒ t d	 d d t t Bt Bƒ t |  d ƒ t  d ƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t |  d ƒ t  d ƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d	 d d
 t t Bt Bd ƒ t d	 d d t t Bt Bƒ t |  d ƒ t  d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d	 d d
 t d ƒ t d	 d d t ƒ t d	 d d t ƒ t d	 d d t ƒ t d	 d d t ƒ t |  d ƒ t  d ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t d	 d d t t Bƒ t d	 d d t t Bƒ t |  d ƒ t  d  ƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d d t d ƒ t d d t ƒ t d	 d d
 t t Bd ƒ t d	 d d t t Bƒ t |  d  ƒ t  d! ƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d d t t Bd ƒ t d d t t Bƒ t d	 d d
 t t Bt Bd ƒ t d	 d d t t Bt Bƒ t |  d! ƒ t  d" ƒ t d	 d d# ƒ t |  d" ƒ t  d$ ƒ t d	 d d# t ƒ t d	 d d# t d ƒ t |  d$ ƒ t  d% ƒ t d	 d d& ƒ t |  d% ƒ t  d' ƒ t d	 d d& t ƒ t |  d' ƒ t  d( ƒ t d	 d d ƒ t d	 d d ƒ t |  d( ƒ t  d) ƒ t d	 d d ƒ t |  d) ƒ t  d* ƒ t d	 d d ƒ t d	 d d ƒ t |  d* ƒ t  d+ ƒ t d	 d d ƒ t |  d+ ƒ t  d, ƒ t d	 d d ƒ t d	 d d ƒ t |  d, ƒ t  d- ƒ t d	 d d ƒ t |  d- ƒ t  d. ƒ t d	 d d ƒ t |  d. ƒ t  d/ ƒ t d d ƒ t |  d/ ƒ t  d0 ƒ t d d ƒ t |  d0 ƒ t  d1 ƒ t d d ƒ t |  d1 ƒ t  d2 ƒ t d d ƒ t |  d2 ƒ t  d3 ƒ t d d t ƒ t d d t d ƒ t |  d3 ƒ t  d4 ƒ t d d t ƒ t d d t d ƒ t |  d4 ƒ t  d5 ƒ t d d t ƒ t |  d5 ƒ t  d6 ƒ t d	 d d
 t d ƒ t |  d6 ƒ t  d7 ƒ t d	 d d
 t d ƒ t |  d7 ƒ t  d8 ƒ t d	 d d t ƒ t |  d8 ƒ t  d9 ƒ t d	 d d t ƒ t |  d9 ƒ t  d: ƒ t d	 d d# ƒ t |  d: ƒ t  d; ƒ t d	 d d# t ƒ t d	 d d# t d ƒ t |  d; ƒ t  d< ƒ t d	 d d& t ƒ t |  d< ƒ t  d= ƒ t d	 d d& t ƒ t |  d= ƒ t  d> ƒ t d	 d d ƒ t d	 d d ƒ t |  d> ƒ t  d? ƒ t d	 d d ƒ t |  d? ƒ t  d@ ƒ t d	 d d t ƒ t d	 d d t d ƒ t d	 d d t ƒ t d	 d d t d ƒ t |  d@ ƒ t  dA ƒ t d	 d d t ƒ t d	 d d t d ƒ t |  dA ƒ t  dB ƒ t d	 d d ƒ t d	 d d ƒ t |  dB ƒ t  dC ƒ t d	 d d ƒ t |  dC ƒ t  dD ƒ t d	 d d t ƒ t d	 d d t d ƒ t d	 d d t ƒ t d	 d d t d ƒ t |  dD ƒ t  dE ƒ t d	 d d t ƒ t d	 d d t d ƒ t |  dE ƒ t  dF ƒ t d	 d d ƒ t d	 d d ƒ t |  dF ƒ t  dG ƒ t d	 d d ƒ t |  dG ƒ t  dH ƒ t d	 d d t ƒ t d	 d d t ƒ t |  dH ƒ t  dI ƒ t d	 d d t ƒ t |  dI ƒ t  dJ ƒ t d	 d d ƒ t d	 d d ƒ t |  dJ ƒ t  dK ƒ t d	 d d ƒ t |  dK ƒ t  dL ƒ t d	 d d
 t d ƒ t d	 d d
 t d ƒ t |  dL ƒ t  dM ƒ t d	 d d
 t d ƒ t |  dM ƒ t  dN ƒ t d	 d d
 t d ƒ t d	 d d
 t d ƒ t |  dN ƒ t  dO ƒ t d	 d d
 t d ƒ t |  dO ƒ t  dP ƒ t d	 d d ƒ t d	 d d ƒ t |  dP ƒ t  dQ ƒ t d	 d d ƒ t |  dQ ƒ t  dR ƒ t d	 d d t ƒ t d	 d d t ƒ t |  dR ƒ t  dS ƒ t d	 d d t ƒ t |  dS ƒ t	 j
 t	 _ |  S(T   Nt   texturet   text   1Dt   2Dt   3DR
   t   1DArrayt   2DArrayR   t   1DShadowi   t   2DShadowt
   CubeShadowt   1DArrayShadowR#   R   t   textureProji   t
   textureLodR   t   textureLodOffsett   textureOffsett
   texelFetchR   t   texelFetchOffsett   textureProjOffsett   textureProjLodt   textureProjLodOffsett   textureGradR   t   textureGradOffsett   textureProjGradt   textureProjGradOffsett   texture2DRectt   2DRectt   texture2DRectProjt   shadow2DRectt   2DRectShadowt   shadow2DRectProjt   texture1DArrayt   texture1DArrayLodt   texture2DArrayt   texture2DArrayLodt   shadow1DArrayt   shadow1DArrayLodt   shadow2DArrayt   texture1DGradARBt   texture2DGradARBt   texture3DGradARBt   textureCubeGradARBt   texture1DProjGradARBt   texture2DProjGradARBt   texture3DProjGradARBt   shadow1DGradARBt   shadow1DProjGradARBt   shadow2DGradARBt   shadow2DProjGradARBt   texture2DRectGradARBt   texture2DRectProjGradARBt   shadow2DRectGradARBt   shadow2DRectProjGradARBt	   texture1Dt   texture1DLodt   texture1DProjt   texture1DProjLodt	   texture2Dt   texture2DLodt   texture2DProjt   texture2DProjLodt	   texture3Dt   texture3DLodt   texture3DProjt   texture3DProjLodt   textureCubet   textureCubeLodt   shadow1Dt   shadow1DLodt   shadow1DProjt   shadow1DProjLodt   shadow2Dt   shadow2DLodt   shadow2DProjt   shadow2DProjLod(   R3   R.   R-   R%   R7   R$   R&   t   Truet   FalseR0   t
   __stdout__R1   (   R6   (    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   generate_texture_functions„   s¨   





























































t   __main__(   R0   R/   R$   R&   R%   R	   R   R   R   R-   R.   R3   R7   R…   t   __name__R6   t	   iteritemst   kt   v(    (    (    s\   /home/idr/devel/graphics/Mesa/SOURCE/Mesa-7.11.1/src/glsl/builtins/tools/texture_builtins.pyt   <module>   s&   	
			B		
	ÿ Ÿ
