((function textureLod
   (signature vec4
     (parameters
       (declare (in) sampler1D sampler)
       (declare (in) vec2 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))

   (signature ivec4
     (parameters
       (declare (in) isampler1D sampler)
       (declare (in) vec2 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))

   (signature uvec4
     (parameters
       (declare (in) usampler1D sampler)
       (declare (in) vec2 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))

   (signature vec4
     (parameters
       (declare (in) sampler1D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature ivec4
     (parameters
       (declare (in) isampler1D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature uvec4
     (parameters
       (declare (in) usampler1D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature vec4
     (parameters
       (declare (in) sampler2D sampler)
       (declare (in) vec3 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))

   (signature ivec4
     (parameters
       (declare (in) isampler2D sampler)
       (declare (in) vec3 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))

   (signature uvec4
     (parameters
       (declare (in) usampler2D sampler)
       (declare (in) vec3 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))

   (signature vec4
     (parameters
       (declare (in) sampler2D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature ivec4
     (parameters
       (declare (in) isampler2D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature uvec4
     (parameters
       (declare (in) usampler2D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature vec4
     (parameters
       (declare (in) sampler3D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature ivec4
     (parameters
       (declare (in) isampler3D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

   (signature uvec4
     (parameters
       (declare (in) usampler3D sampler)
       (declare (in) vec4 P) 
       (declare (in) float lod) )
     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))

))