[Mesa-dev] [PATCH 06/11] glsl: Add remaining *sampler2DRect* texture functions.

Eric Anholt eric at anholt.net
Fri Apr 13 16:38:34 PDT 2012


Fixes the new piglit texelFetch() tests on these.  Note that the rest
of the new functions are not tested (same as the non-2DRect versions
of most of them).
---
 src/glsl/builtins/profiles/140.frag         |   68 +++++++++++++++++++++++++++
 src/glsl/builtins/profiles/140.vert         |   68 +++++++++++++++++++++++++++
 src/glsl/builtins/tools/texture_builtins.py |   22 +++++++++
 3 files changed, 158 insertions(+)

diff --git a/src/glsl/builtins/profiles/140.frag b/src/glsl/builtins/profiles/140.frag
index ba616a1..36fa822 100644
--- a/src/glsl/builtins/profiles/140.frag
+++ b/src/glsl/builtins/profiles/140.frag
@@ -540,6 +540,12 @@ uvec4 texture(usampler2DArray sampler, vec3 P);
 float texture(sampler1DArrayShadow sampler, vec3 P);
 float texture(sampler2DArrayShadow sampler, vec4 P);
 
+ vec4 texture( sampler2DRect sampler, vec2 P);
+ivec4 texture(isampler2DRect sampler, vec2 P);
+uvec4 texture(usampler2DRect sampler, vec2 P);
+
+float texture(sampler2DRectShadow sampler, vec3 P);
+
 /* texture - bias variants */
  vec4 texture( sampler1D sampler, float P, float bias);
 ivec4 texture(isampler1D sampler, float P, float bias);
@@ -593,6 +599,15 @@ uvec4 textureProj(usampler3D sampler, vec4 P);
 float textureProj(sampler1DShadow sampler, vec4 P);
 float textureProj(sampler2DShadow sampler, vec4 P);
 
+ vec4 textureProj( sampler2DRect sampler, vec3 P);
+ivec4 textureProj(isampler2DRect sampler, vec3 P);
+uvec4 textureProj(usampler2DRect sampler, vec3 P);
+ vec4 textureProj( sampler2DRect sampler, vec4 P);
+ivec4 textureProj(isampler2DRect sampler, vec4 P);
+uvec4 textureProj(usampler2DRect sampler, vec4 P);
+
+float textureProj(sampler2DRectShadow sampler, vec4 P);
+
 /* textureProj - bias variants */
  vec4 textureProj( sampler1D sampler, vec2 P, float bias);
 ivec4 textureProj(isampler1D sampler, vec2 P, float bias);
@@ -658,6 +673,12 @@ uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset);
 ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset);
 uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset);
 
+ vec4 textureOffset( sampler2DRect sampler, vec2 P, ivec2 offset);
+ivec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset);
+uvec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset);
+
+float textureOffset(sampler2DRectShadow sampler, vec3 P, ivec2 offset);
+
 float textureOffset(sampler1DShadow sampler, vec3 P, int offset);
 float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset);
 
@@ -710,6 +731,10 @@ uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod);
 ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod);
 uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod);
 
+ vec4 texelFetch( sampler2DRect sampler, ivec2 P);
+ivec4 texelFetch(isampler2DRect sampler, ivec2 P);
+uvec4 texelFetch(usampler2DRect sampler, ivec2 P);
+
  vec4 texelFetch( sampler1DArray sampler, ivec2 P, int lod);
 ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod);
 uvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod);
@@ -735,6 +760,10 @@ uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset);
 ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset);
 uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset);
 
+ vec4 texelFetchOffset( sampler2DRect sampler, ivec2 P, ivec2 offset);
+ivec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset);
+uvec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset);
+
  vec4 texelFetchOffset( sampler1DArray sampler, ivec2 P, int lod, int offset);
 ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, int offset);
 uvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, int offset);
@@ -762,6 +791,15 @@ uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset);
 ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset);
 uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset);
 
+ vec4 textureProjOffset( sampler2DRect sampler, vec3 P, ivec2 offset);
+ivec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset);
+uvec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset);
+ vec4 textureProjOffset( sampler2DRect sampler, vec4 P, ivec2 offset);
+ivec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset);
+uvec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset);
+
+float textureProjOffset(sampler2DRectShadow sampler, vec4 P, ivec2 offset);
+
 float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset);
 float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset);
 
@@ -874,6 +912,12 @@ uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
 ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
 uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
 
+ vec4 textureGrad( sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
+ivec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
+uvec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
+
+float textureGrad(sampler2DRectShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
+
 float textureGrad(sampler1DShadow   sampler, vec3 P, float dPdx, float dPdy);
 float textureGrad(sampler2DShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
 float textureGrad(samplerCubeShadow sampler, vec4 P, vec3  dPdx, vec3  dPdy);
@@ -902,6 +946,12 @@ uvec4 textureGradOffset(usampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
 ivec4 textureGradOffset(isampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
 uvec4 textureGradOffset(usampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
 
+ vec4 textureGradOffset( sampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
+ivec4 textureGradOffset(isampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
+uvec4 textureGradOffset(usampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
+
+float textureGradOffset(sampler2DRectShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+
 float textureGradOffset(sampler1DShadow s, vec3 P, float dx, float dy, int off);
 float textureGradOffset(sampler2DShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
 
@@ -935,6 +985,15 @@ uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
 ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
 uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
 
+ vec4 textureProjGrad( sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
+ivec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
+uvec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
+ vec4 textureProjGrad( sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
+ivec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
+uvec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
+
+float textureProjGrad(sampler2DRectShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
+
 float textureProjGrad(sampler1DShadow sampler, vec4 P, float dPdx, float dPdy);
 float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
 
@@ -953,6 +1012,15 @@ uvec4 textureProjGradOffset(usampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
 ivec4 textureProjGradOffset(isampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
 uvec4 textureProjGradOffset(usampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
 
+ vec4 textureProjGradOffset( sampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+ivec4 textureProjGradOffset(isampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+uvec4 textureProjGradOffset(usampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+ vec4 textureProjGradOffset( sampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
+ivec4 textureProjGradOffset(isampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
+uvec4 textureProjGradOffset(usampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
+
+float textureProjGradOffset(sampler2DRectShadow s, vec4 P, vec2 dx, vec2 dy, vec2 o);
+
  vec4 textureProjGradOffset( sampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
 ivec4 textureProjGradOffset(isampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
 uvec4 textureProjGradOffset(usampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
diff --git a/src/glsl/builtins/profiles/140.vert b/src/glsl/builtins/profiles/140.vert
index 1aab72c..ce4c62d 100644
--- a/src/glsl/builtins/profiles/140.vert
+++ b/src/glsl/builtins/profiles/140.vert
@@ -540,6 +540,12 @@ uvec4 texture(usampler2DArray sampler, vec3 P);
 float texture(sampler1DArrayShadow sampler, vec3 P);
 float texture(sampler2DArrayShadow sampler, vec4 P);
 
+ vec4 texture( sampler2DRect sampler, vec2 P);
+ivec4 texture(isampler2DRect sampler, vec2 P);
+uvec4 texture(usampler2DRect sampler, vec2 P);
+
+float texture(sampler2DRectShadow sampler, vec3 P);
+
 /* textureProj */
  vec4 textureProj( sampler1D sampler, vec2 P);
 ivec4 textureProj(isampler1D sampler, vec2 P);
@@ -562,6 +568,15 @@ uvec4 textureProj(usampler3D sampler, vec4 P);
 float textureProj(sampler1DShadow sampler, vec4 P);
 float textureProj(sampler2DShadow sampler, vec4 P);
 
+ vec4 textureProj( sampler2DRect sampler, vec3 P);
+ivec4 textureProj(isampler2DRect sampler, vec3 P);
+uvec4 textureProj(usampler2DRect sampler, vec3 P);
+ vec4 textureProj( sampler2DRect sampler, vec4 P);
+ivec4 textureProj(isampler2DRect sampler, vec4 P);
+uvec4 textureProj(usampler2DRect sampler, vec4 P);
+
+float textureProj(sampler2DRectShadow sampler, vec4 P);
+
 /* textureLod */
  vec4 textureLod( sampler1D sampler, float P, float lod);
 ivec4 textureLod(isampler1D sampler, float P, float lod);
@@ -605,6 +620,12 @@ uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset);
 ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset);
 uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset);
 
+ vec4 textureOffset( sampler2DRect sampler, vec2 P, ivec2 offset);
+ivec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset);
+uvec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset);
+
+float textureOffset(sampler2DRectShadow sampler, vec3 P, ivec2 offset);
+
 float textureOffset(sampler1DShadow sampler, vec3 P, int offset);
 float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset);
 
@@ -631,6 +652,10 @@ uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod);
 ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod);
 uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod);
 
+ vec4 texelFetch( sampler2DRect sampler, ivec2 P);
+ivec4 texelFetch(isampler2DRect sampler, ivec2 P);
+uvec4 texelFetch(usampler2DRect sampler, ivec2 P);
+
  vec4 texelFetch( sampler1DArray sampler, ivec2 P, int lod);
 ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod);
 uvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod);
@@ -656,6 +681,10 @@ uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset);
 ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset);
 uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset);
 
+ vec4 texelFetchOffset( sampler2DRect sampler, ivec2 P, ivec2 offset);
+ivec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset);
+uvec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset);
+
  vec4 texelFetchOffset( sampler1DArray sampler, ivec2 P, int lod, int offset);
 ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, int offset);
 uvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, int offset);
@@ -683,6 +712,15 @@ uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset);
 ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset);
 uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset);
 
+ vec4 textureProjOffset( sampler2DRect sampler, vec3 P, ivec2 offset);
+ivec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset);
+uvec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset);
+ vec4 textureProjOffset( sampler2DRect sampler, vec4 P, ivec2 offset);
+ivec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset);
+uvec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset);
+
+float textureProjOffset(sampler2DRectShadow sampler, vec4 P, ivec2 offset);
+
 float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset);
 float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset);
 
@@ -773,6 +811,12 @@ uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
 ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
 uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
 
+ vec4 textureGrad( sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
+ivec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
+uvec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
+
+float textureGrad(sampler2DRectShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
+
 float textureGrad(sampler1DShadow   sampler, vec3 P, float dPdx, float dPdy);
 float textureGrad(sampler2DShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
 float textureGrad(samplerCubeShadow sampler, vec4 P, vec3  dPdx, vec3  dPdy);
@@ -801,6 +845,12 @@ uvec4 textureGradOffset(usampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
 ivec4 textureGradOffset(isampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
 uvec4 textureGradOffset(usampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
 
+ vec4 textureGradOffset( sampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
+ivec4 textureGradOffset(isampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
+uvec4 textureGradOffset(usampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
+
+float textureGradOffset(sampler2DRectShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+
 float textureGradOffset(sampler1DShadow s, vec3 P, float dx, float dy, int off);
 float textureGradOffset(sampler2DShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
 
@@ -834,6 +884,15 @@ uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
 ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
 uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
 
+ vec4 textureProjGrad( sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
+ivec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
+uvec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
+ vec4 textureProjGrad( sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
+ivec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
+uvec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
+
+float textureProjGrad(sampler2DRectShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
+
 float textureProjGrad(sampler1DShadow sampler, vec4 P, float dPdx, float dPdy);
 float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
 
@@ -852,6 +911,15 @@ uvec4 textureProjGradOffset(usampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
 ivec4 textureProjGradOffset(isampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
 uvec4 textureProjGradOffset(usampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
 
+ vec4 textureProjGradOffset( sampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+ivec4 textureProjGradOffset(isampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+uvec4 textureProjGradOffset(usampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
+ vec4 textureProjGradOffset( sampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
+ivec4 textureProjGradOffset(isampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
+uvec4 textureProjGradOffset(usampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
+
+float textureProjGradOffset(sampler2DRectShadow s, vec4 P, vec2 dx, vec2 dy, vec2 o);
+
  vec4 textureProjGradOffset( sampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
 ivec4 textureProjGradOffset(isampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
 uvec4 textureProjGradOffset(usampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
diff --git a/src/glsl/builtins/tools/texture_builtins.py b/src/glsl/builtins/tools/texture_builtins.py
index 3d957e2..84a144e 100755
--- a/src/glsl/builtins/tools/texture_builtins.py
+++ b/src/glsl/builtins/tools/texture_builtins.py
@@ -177,6 +177,8 @@ def generate_texture_functions(fs):
     generate_sigs("", "tex", "CubeShadow", Single);
     generate_sigs("", "tex", "1DArrayShadow", Single);
     generate_sigs("", "tex", "2DArrayShadow", Single);
+    generate_fiu_sigs("tex", "2DRect")
+    generate_sigs("", "tex", "2DRectShadow", Single);
 
     generate_fiu_sigs("txb", "1D")
     generate_fiu_sigs("txb", "2D")
@@ -199,6 +201,9 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("tex", "3D", Proj)
     generate_sigs("", "tex", "1DShadow", Proj | Single, 1);
     generate_sigs("", "tex", "2DShadow", Proj | Single);
+    generate_fiu_sigs("tex", "2DRect", Proj)
+    generate_fiu_sigs("tex", "2DRect", Proj, 1)
+    generate_sigs("", "tex", "2DRectShadow", Proj | Single);
 
     generate_fiu_sigs("txb", "1D", Proj)
     generate_fiu_sigs("txb", "1D", Proj, 2)
@@ -236,6 +241,8 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("tex", "1D", Offset)
     generate_fiu_sigs("tex", "2D", Offset)
     generate_fiu_sigs("tex", "3D", Offset)
+    generate_fiu_sigs("tex", "2DRect", Offset)
+    generate_sigs("", "tex", "2DRectShadow", Offset | Single);
     generate_fiu_sigs("tex", "1DArray", Offset)
     generate_fiu_sigs("tex", "2DArray", Offset)
     generate_sigs("", "tex", "1DShadow", Offset | Single, 1);
@@ -256,6 +263,7 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("txf", "1D")
     generate_fiu_sigs("txf", "2D")
     generate_fiu_sigs("txf", "3D")
+    generate_fiu_sigs("txf", "2DRect")
     generate_fiu_sigs("txf", "1DArray")
     generate_fiu_sigs("txf", "2DArray")
     generate_fiu_sigs("txf", "Buffer")
@@ -265,6 +273,7 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("txf", "1D", Offset)
     generate_fiu_sigs("txf", "2D", Offset)
     generate_fiu_sigs("txf", "3D", Offset)
+    generate_fiu_sigs("txf", "2DRect", Offset)
     generate_fiu_sigs("txf", "1DArray", Offset)
     generate_fiu_sigs("txf", "2DArray", Offset)
     end_function(fs, "texelFetchOffset")
@@ -275,6 +284,9 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("tex", "2D", Proj | Offset)
     generate_fiu_sigs("tex", "2D", Proj | Offset, 1)
     generate_fiu_sigs("tex", "3D", Proj | Offset)
+    generate_fiu_sigs("tex", "2DRect", Proj | Offset)
+    generate_fiu_sigs("tex", "2DRect", Proj | Offset, 1)
+    generate_sigs("", "tex", "2DRectShadow", Proj | Offset | Single);
     generate_sigs("", "tex", "1DShadow", Proj | Offset | Single, 1);
     generate_sigs("", "tex", "2DShadow", Proj | Offset | Single);
 
@@ -314,6 +326,8 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("txd", "Cube")
     generate_fiu_sigs("txd", "1DArray")
     generate_fiu_sigs("txd", "2DArray")
+    generate_fiu_sigs("txd", "2DRect")
+    generate_sigs("", "txd", "2DRectShadow", Single);
     generate_sigs("", "txd", "1DShadow", Single, 1);
     generate_sigs("", "txd", "2DShadow", Single);
     generate_sigs("", "txd", "CubeShadow", Single);
@@ -325,6 +339,8 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("txd", "1D", Offset)
     generate_fiu_sigs("txd", "2D", Offset)
     generate_fiu_sigs("txd", "3D", Offset)
+    generate_fiu_sigs("txd", "2DRect", Offset)
+    generate_sigs("", "txd", "2DRectShadow", Offset | Single);
     generate_fiu_sigs("txd", "1DArray", Offset)
     generate_fiu_sigs("txd", "2DArray", Offset)
     generate_sigs("", "txd", "1DShadow", Offset | Single, 1);
@@ -339,6 +355,9 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("txd", "2D", Proj)
     generate_fiu_sigs("txd", "2D", Proj, 1)
     generate_fiu_sigs("txd", "3D", Proj)
+    generate_fiu_sigs("txd", "2DRect", Proj)
+    generate_fiu_sigs("txd", "2DRect", Proj, 1)
+    generate_sigs("", "txd", "2DRectShadow", Proj | Single);
     generate_sigs("", "txd", "1DShadow", Proj | Single, 1);
     generate_sigs("", "txd", "2DShadow", Proj | Single);
     end_function(fs, "textureProjGrad")
@@ -349,6 +368,9 @@ def generate_texture_functions(fs):
     generate_fiu_sigs("txd", "2D", Proj | Offset)
     generate_fiu_sigs("txd", "2D", Proj | Offset, 1)
     generate_fiu_sigs("txd", "3D", Proj | Offset)
+    generate_fiu_sigs("txd", "2DRect", Proj | Offset)
+    generate_fiu_sigs("txd", "2DRect", Proj | Offset, 1)
+    generate_sigs("", "txd", "2DRectShadow", Proj | Offset | Single);
     generate_sigs("", "txd", "1DShadow", Proj | Offset | Single, 1);
     generate_sigs("", "txd", "2DShadow", Proj | Offset | Single);
     end_function(fs, "textureProjGradOffset")
-- 
1.7.10



More information about the mesa-dev mailing list