From: Eric Anholt Date: Fri, 13 Apr 2012 22:43:41 +0000 (-0700) Subject: glsl: Add remaining *sampler2DRect* texture functions. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=acd4024e0a0096c351a7143f908e029df53b1fdf;p=mesa.git glsl: Add remaining *sampler2DRect* texture functions. 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). --- diff --git a/src/glsl/builtins/profiles/140.frag b/src/glsl/builtins/profiles/140.frag index 3eeecd1d72c..5b2ed6d981d 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, ivec2 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 1aab72cc0bb..ce4c62d7e4a 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 3d957e272d3..84a144e6adc 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")