From 3214f20914134df07b070f471c0ca2d610ed3b81 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Mon, 25 Feb 2019 19:12:07 +0100 Subject: [PATCH] mesa: Expose EXT_texture_query_lod and add support for its use shaders EXT_texture_query_lod provides the same functionality for GLES like the ARB extension with the same name for GL. v2: Set ES 3.0 as minimum GLES version as required by the extension Signed-off-by: Gert Wollny Reviewed-by: Eric Anholt --- src/compiler/glsl/builtin_functions.cpp | 3 ++- src/compiler/glsl/glsl_parser_extras.cpp | 1 + src/compiler/glsl/glsl_parser_extras.h | 2 ++ src/mesa/main/extensions_table.h | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/compiler/glsl/builtin_functions.cpp b/src/compiler/glsl/builtin_functions.cpp index 0f747b94757..aba1a14bd90 100644 --- a/src/compiler/glsl/builtin_functions.cpp +++ b/src/compiler/glsl/builtin_functions.cpp @@ -405,7 +405,8 @@ static bool texture_query_lod(const _mesa_glsl_parse_state *state) { return state->stage == MESA_SHADER_FRAGMENT && - state->ARB_texture_query_lod_enable; + (state->ARB_texture_query_lod_enable || + state->EXT_texture_query_lod_enable); } static bool diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index bde93dd3f37..fd3e9e55af1 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -730,6 +730,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { EXT(EXT_texture_array), EXT_AEP(EXT_texture_buffer), EXT_AEP(EXT_texture_cube_map_array), + EXT(EXT_texture_query_lod), EXT(INTEL_conservative_rasterization), EXT(INTEL_shader_atomic_float_minmax), EXT(MESA_shader_integer_functions), diff --git a/src/compiler/glsl/glsl_parser_extras.h b/src/compiler/glsl/glsl_parser_extras.h index b17b5125e0b..f404efd9610 100644 --- a/src/compiler/glsl/glsl_parser_extras.h +++ b/src/compiler/glsl/glsl_parser_extras.h @@ -834,6 +834,8 @@ struct _mesa_glsl_parse_state { bool EXT_texture_buffer_warn; bool EXT_texture_cube_map_array_enable; bool EXT_texture_cube_map_array_warn; + bool EXT_texture_query_lod_enable; + bool EXT_texture_query_lod_warn; bool INTEL_conservative_rasterization_enable; bool INTEL_conservative_rasterization_warn; bool INTEL_shader_atomic_float_minmax_enable; diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h index 05ed418d750..a9773f701b6 100644 --- a/src/mesa/main/extensions_table.h +++ b/src/mesa/main/extensions_table.h @@ -301,6 +301,7 @@ EXT(EXT_texture_lod_bias , dummy_true EXT(EXT_texture_mirror_clamp , EXT_texture_mirror_clamp , GLL, GLC, x , x , 2004) EXT(EXT_texture_norm16 , dummy_true , x , x , x , 31, 2014) EXT(EXT_texture_object , dummy_true , GLL, x , x , x , 1995) +EXT(EXT_texture_query_lod , ARB_texture_query_lod , x , x , x , 30, 2019) EXT(EXT_texture_rectangle , NV_texture_rectangle , GLL, x , x , x , 2004) EXT(EXT_texture_rg , ARB_texture_rg , x , x , x , ES2, 2011) EXT(EXT_texture_sRGB , EXT_texture_sRGB , GLL, GLC, x , x , 2004) -- 2.30.2