Module: Mesa Branch: master Commit: 71ffac691b8423d823a4637a0542ccb4005cc996 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=71ffac691b8423d823a4637a0542ccb4005cc996
Author: Paul Berry <stereotype...@gmail.com> Date: Thu Sep 12 09:11:37 2013 -0700 glsl/builtins: Fix {texture1D,texture2D,shadow1D}ArrayLod availibility. These functions are defined in EXT_texture_array, which makes no mention of what shader types they should be allowed in. At the time EXT_texture_array was introduced, functions ending in "Lod" were available only in vertex shaders, however this restriction was lifted in later spec versions and extensions. We already have the function lod_exists_in_stage() for figuring out whether functions ending in "Lod" should be available, so just re-use that. Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> --- src/glsl/builtin_functions.cpp | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp index c468bd5..528af0d 100644 --- a/src/glsl/builtin_functions.cpp +++ b/src/glsl/builtin_functions.cpp @@ -214,9 +214,9 @@ gpu_shader5(const _mesa_glsl_parse_state *state) } static bool -vs_texture_array(const _mesa_glsl_parse_state *state) +texture_array_lod(const _mesa_glsl_parse_state *state) { - return state->target == vertex_shader && + return lod_exists_in_stage(state) && state->EXT_texture_array_enable; } @@ -1609,7 +1609,7 @@ builtin_builder::create_builtins() NULL); add_function("texture1DArrayLod", - _texture(ir_txl, vs_texture_array, glsl_type::vec4_type, glsl_type::sampler1DArray_type, glsl_type::vec2_type), + _texture(ir_txl, texture_array_lod, glsl_type::vec4_type, glsl_type::sampler1DArray_type, glsl_type::vec2_type), NULL); add_function("texture1DProjLod", @@ -1642,7 +1642,7 @@ builtin_builder::create_builtins() NULL); add_function("texture2DArrayLod", - _texture(ir_txl, vs_texture_array, glsl_type::vec4_type, glsl_type::sampler2DArray_type, glsl_type::vec3_type), + _texture(ir_txl, texture_array_lod, glsl_type::vec4_type, glsl_type::sampler2DArray_type, glsl_type::vec3_type), NULL); add_function("texture2DProjLod", @@ -1725,7 +1725,7 @@ builtin_builder::create_builtins() NULL); add_function("shadow1DArrayLod", - _texture(ir_txl, vs_texture_array, glsl_type::vec4_type, glsl_type::sampler1DArrayShadow_type, glsl_type::vec3_type), + _texture(ir_txl, texture_array_lod, glsl_type::vec4_type, glsl_type::sampler1DArrayShadow_type, glsl_type::vec3_type), NULL); add_function("shadow1DProjLod", _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit