From 61a3e68767bb0789367f0c5f16c1ef0e7d81f101 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 14 Dec 2021 17:10:43 -0800 Subject: [PATCH] mesa: OpenGL 1.3 feature GL_ARB_texture_env_combine is not optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v2: GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, and GL_ONE_MINUS_SRC_ALPHA should always be supported now. Noticed by Marek. Reviewed-by: Marek Olšák Part-of: --- src/mesa/main/extensions_table.h | 2 +- src/mesa/main/mtypes.h | 1 - src/mesa/main/texenv.c | 19 ++----------------- src/mesa/main/version.c | 6 ++---- src/mesa/state_tracker/st_extensions.c | 1 - 5 files changed, 5 insertions(+), 24 deletions(-) diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h index 72be42e02ff..7156ef9db60 100644 --- a/src/mesa/main/extensions_table.h +++ b/src/mesa/main/extensions_table.h @@ -157,7 +157,7 @@ EXT(ARB_texture_compression_rgtc , ARB_texture_compression_rgtc EXT(ARB_texture_cube_map , dummy_true , GLL, x , x , x , 1999) EXT(ARB_texture_cube_map_array , ARB_texture_cube_map_array , GLL, GLC, x , x , 2009) EXT(ARB_texture_env_add , dummy_true , GLL, x , x , x , 1999) -EXT(ARB_texture_env_combine , ARB_texture_env_combine , GLL, x , x , x , 2001) +EXT(ARB_texture_env_combine , dummy_true , GLL, x , x , x , 2001) EXT(ARB_texture_env_crossbar , ARB_texture_env_crossbar , GLL, x , x , x , 2001) EXT(ARB_texture_env_dot3 , ARB_texture_env_dot3 , GLL, x , x , x , 2001) EXT(ARB_texture_filter_anisotropic , ARB_texture_filter_anisotropic , GLL, GLC, x , x , 2017) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index ef7e2418fce..2d9da737c7e 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -4450,7 +4450,6 @@ struct gl_extensions GLboolean ARB_texture_compression_bptc; GLboolean ARB_texture_compression_rgtc; GLboolean ARB_texture_cube_map_array; - GLboolean ARB_texture_env_combine; GLboolean ARB_texture_env_crossbar; GLboolean ARB_texture_env_dot3; GLboolean ARB_texture_filter_anisotropic; diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c index 1d8d7ace659..83cb9365e30 100644 --- a/src/mesa/main/texenv.c +++ b/src/mesa/main/texenv.c @@ -116,10 +116,8 @@ set_combiner_mode(struct gl_context *ctx, case GL_ADD: case GL_ADD_SIGNED: case GL_INTERPOLATE: - legal = GL_TRUE; - break; case GL_SUBTRACT: - legal = ctx->Extensions.ARB_texture_env_combine; + legal = GL_TRUE; break; case GL_DOT3_RGB_EXT: case GL_DOT3_RGBA_EXT: @@ -308,22 +306,9 @@ set_combiner_operand(struct gl_context *ctx, switch (param) { case GL_SRC_COLOR: case GL_ONE_MINUS_SRC_COLOR: - /* The color input can only be used with GL_OPERAND[01]_RGB in the EXT - * version. In the ARB and NV versions and OpenGL ES 1.x they can be - * used for any RGB operand. - */ - legal = !alpha - && ((term < 2) || ctx->Extensions.ARB_texture_env_combine - || ctx->Extensions.NV_texture_env_combine4); + legal = !alpha; break; case GL_ONE_MINUS_SRC_ALPHA: - /* GL_ONE_MINUS_SRC_ALPHA can only be used with - * GL_OPERAND[01]_(RGB|ALPHA) in the EXT version. In the ARB and NV - * versions and OpenGL ES 1.x it can be used for any operand. - */ - legal = (term < 2) || ctx->Extensions.ARB_texture_env_combine - || ctx->Extensions.NV_texture_env_combine4; - break; case GL_SRC_ALPHA: legal = GL_TRUE; break; diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index f92e9d2b683..01a6e97e65b 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -251,8 +251,7 @@ compute_version(const struct gl_extensions *extensions, { GLuint major, minor, version; - const bool ver_1_3 = (extensions->ARB_texture_env_combine && - extensions->ARB_texture_env_dot3); + const bool ver_1_3 = (extensions->ARB_texture_env_dot3); const bool ver_1_4 = (ver_1_3 && extensions->ARB_depth_texture && extensions->ARB_shadow && @@ -494,8 +493,7 @@ static GLuint compute_version_es1(const struct gl_extensions *extensions) { /* OpenGL ES 1.0 is derived from OpenGL 1.3 */ - const bool ver_1_0 = (extensions->ARB_texture_env_combine && - extensions->ARB_texture_env_dot3); + const bool ver_1_0 = (extensions->ARB_texture_env_dot3); /* OpenGL ES 1.1 is derived from OpenGL 1.5 */ const bool ver_1_1 = (ver_1_0 && extensions->EXT_point_parameters); diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 3e69786851c..0aadc78fb73 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -1109,7 +1109,6 @@ void st_init_extensions(struct pipe_screen *screen, extensions->ARB_internalformat_query2 = GL_TRUE; extensions->ARB_map_buffer_range = GL_TRUE; extensions->ARB_sync = GL_TRUE; - extensions->ARB_texture_env_combine = GL_TRUE; extensions->ARB_texture_env_crossbar = GL_TRUE; extensions->ARB_texture_env_dot3 = GL_TRUE; extensions->ARB_vertex_program = GL_TRUE;