From 15ca0ca1b6779bcf2d2603153035d3f971c24666 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 28 Jun 2013 13:46:44 -0700 Subject: [PATCH] glsl/builtins: Fix ARB_texture_cube_map_array built-in availability. This patch adds texture() for isamplerCubeArray and usamplerCubeArray, which were entirely missing. It also makes texture() with a LOD bias fragment shader specific. The main GLSL specification explicitly says that texturing with LOD bias should not be allowed for vertex shaders. Affects Piglit's ARB_texture_cube_map_array/compiler/tex_bias-01.vert. which tries to use bias in a vertex shader. Currently, it expects this to pass (so this patch regresses the test), but I've sent a patch to reverse the expected behavior (so this patch would fix the updated test): http://lists.freedesktop.org/archives/piglit/2013-June/006123.html NOTE: This is a candidate for stable branches. Signed-off-by: Kenneth Graunke Reviewed-by: Paul Berry Reviewed-by: Dave Airlie --- src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag | 6 ++++++ src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag diff --git a/src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag b/src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag new file mode 100644 index 00000000000..0d9f4f66d27 --- /dev/null +++ b/src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag @@ -0,0 +1,6 @@ +#version 130 +#extension GL_ARB_texture_cube_map_array : enable + + vec4 texture( samplerCubeArray sampler, vec4 coord, float bias); +ivec4 texture(isamplerCubeArray sampler, vec4 coord, float bias); +uvec4 texture(usamplerCubeArray sampler, vec4 coord, float bias); diff --git a/src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl b/src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl index 0f53212953f..73659b3e848 100644 --- a/src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl +++ b/src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl @@ -7,7 +7,8 @@ ivec3 textureSize(usamplerCubeArray sampler, int lod); ivec3 textureSize(samplerCubeArrayShadow sampler, int lod); vec4 texture( samplerCubeArray sampler, vec4 coord); - vec4 texture( samplerCubeArray sampler, vec4 coord, float bias); +ivec4 texture(isamplerCubeArray sampler, vec4 coord); +uvec4 texture(usamplerCubeArray sampler, vec4 coord); float texture( samplerCubeArrayShadow sampler, vec4 P, float compare); vec4 textureGrad( samplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy); -- 2.30.2