blob: d66d96af19280d5e0a9f5ce062ce9292c187a548 [file] [log] [blame]
From 3214f20914134df07b070f471c0ca2d610ed3b81 Mon Sep 17 00:00:00 2001
From: Gert Wollny <gert.wollny@collabora.com>
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 <gert.wollny@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
---
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 0f747b947571..aba1a14bd902 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 bde93dd3f37e..fd3e9e55af1b 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 b17b5125e0b9..f404efd96109 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 05ed418d7500..a9773f701b61 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.20.1