Mesa (main): mesa: OpenGL 1.3 feature GL_ARB_texture_env_combine is not optional

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Dec 15 20:55:06 UTC 2021


Module: Mesa
Branch: main
Commit: 61a3e68767bb0789367f0c5f16c1ef0e7d81f101
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=61a3e68767bb0789367f0c5f16c1ef0e7d81f101

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Dec 14 17:10:43 2021 -0800

mesa: OpenGL 1.3 feature GL_ARB_texture_env_combine is not optional

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 <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14203>

---

 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;



More information about the mesa-commit mailing list