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

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


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

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

mesa: OpenGL 1.3 feature GL_ARB_texture_border_clamp is not optional

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       |  8 ++++----
 src/mesa/main/mtypes.h                 |  1 -
 src/mesa/main/samplerobj.c             |  5 +----
 src/mesa/main/texparam.c               | 15 ++++-----------
 src/mesa/main/version.c                |  4 +---
 src/mesa/state_tracker/st_extensions.c |  3 ---
 6 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index e3817f0fb19..ad2ba2cb103 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -147,7 +147,7 @@ EXT(ARB_stencil_texturing                   , ARB_stencil_texturing
 EXT(ARB_sync                                , ARB_sync                               , GLL, GLC,  x ,  x , 2003)
 EXT(ARB_tessellation_shader                 , ARB_tessellation_shader                , GLL, GLC,  x ,  x , 2009)
 EXT(ARB_texture_barrier                     , NV_texture_barrier                     , GLL, GLC,  x ,  x , 2014)
-EXT(ARB_texture_border_clamp                , ARB_texture_border_clamp               , GLL,  x ,  x ,  x , 2000)
+EXT(ARB_texture_border_clamp                , dummy_true                             , GLL,  x ,  x ,  x , 2000)
 EXT(ARB_texture_buffer_object               , ARB_texture_buffer_object              , GLL, GLC,  x ,  x , 2008)
 EXT(ARB_texture_buffer_object_rgb32         , ARB_texture_buffer_object_rgb32        , GLL, GLC,  x ,  x , 2009)
 EXT(ARB_texture_buffer_range                , ARB_texture_buffer_range               , GLL, GLC,  x ,  x , 2012)
@@ -298,7 +298,7 @@ EXT(EXT_tessellation_shader                 , ARB_tessellation_shader
 EXT(EXT_texture                             , dummy_true                             , GLL,  x ,  x ,  x , 1996)
 EXT(EXT_texture3D                           , dummy_true                             , GLL,  x ,  x ,  x , 1996)
 EXT(EXT_texture_array                       , EXT_texture_array                      , GLL, GLC,  x ,  x , 2006)
-EXT(EXT_texture_border_clamp                , ARB_texture_border_clamp               ,  x ,  x ,  x , ES2, 2014)
+EXT(EXT_texture_border_clamp                , dummy_true                             ,  x ,  x ,  x , ES2, 2014)
 EXT(EXT_texture_buffer                      , OES_texture_buffer                     ,  x ,  x ,  x ,  31, 2014)
 EXT(EXT_texture_buffer_object               , EXT_texture_buffer_object              , GLL,  x ,  x ,  x , 2007)
 EXT(EXT_texture_compression_bptc            , ARB_texture_compression_bptc           ,  x ,  x ,  x ,  30, 2017)
@@ -464,7 +464,7 @@ EXT(OES_surfaceless_context                 , dummy_true
 EXT(OES_tessellation_point_size             , ARB_tessellation_shader                ,  x ,  x ,  x ,  31, 2014)
 EXT(OES_tessellation_shader                 , ARB_tessellation_shader                ,  x ,  x ,  x ,  31, 2014)
 EXT(OES_texture_3D                          , dummy_true                             ,  x ,  x ,  x , ES2, 2005)
-EXT(OES_texture_border_clamp                , ARB_texture_border_clamp               ,  x ,  x ,  x , ES2, 2014)
+EXT(OES_texture_border_clamp                , dummy_true                             ,  x ,  x ,  x , ES2, 2014)
 EXT(OES_texture_buffer                      , OES_texture_buffer                     ,  x ,  x ,  x ,  31, 2014)
 EXT(OES_texture_compression_astc            , OES_texture_compression_astc           ,  x ,  x , ES1, ES2, 2015)
 EXT(OES_texture_cube_map                    , ARB_texture_cube_map                   ,  x ,  x , ES1,  x , 2007)
@@ -486,7 +486,7 @@ EXT(OES_viewport_array                      , OES_viewport_array
 EXT(S3_s3tc                                 , ANGLE_texture_compression_dxt          , GLL, GLC,  x ,  x , 1999)
 
 EXT(SGIS_generate_mipmap                    , dummy_true                             , GLL,  x ,  x ,  x , 1997)
-EXT(SGIS_texture_border_clamp               , ARB_texture_border_clamp               , GLL,  x ,  x ,  x , 1997)
+EXT(SGIS_texture_border_clamp               , dummy_true                             , GLL,  x ,  x ,  x , 1997)
 EXT(SGIS_texture_edge_clamp                 , dummy_true                             , GLL,  x ,  x ,  x , 1997)
 EXT(SGIS_texture_lod                        , dummy_true                             , GLL,  x ,  x ,  x , 1997)
 
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index e658535321f..e7ba9ba759a 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4444,7 +4444,6 @@ struct gl_extensions
    GLboolean ARB_spirv_extensions;
    GLboolean ARB_sync;
    GLboolean ARB_tessellation_shader;
-   GLboolean ARB_texture_border_clamp;
    GLboolean ARB_texture_buffer_object;
    GLboolean ARB_texture_buffer_object_rgb32;
    GLboolean ARB_texture_buffer_range;
diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c
index d59d920d3ea..26fbc49edec 100644
--- a/src/mesa/main/samplerobj.c
+++ b/src/mesa/main/samplerobj.c
@@ -505,9 +505,8 @@ validate_texture_wrap_mode(struct gl_context *ctx, GLenum wrap)
    case GL_CLAMP_TO_EDGE:
    case GL_REPEAT:
    case GL_MIRRORED_REPEAT:
-      return GL_TRUE;
    case GL_CLAMP_TO_BORDER:
-      return e->ARB_texture_border_clamp;
+      return GL_TRUE;
    case GL_MIRROR_CLAMP_EXT:
       return e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp;
    case GL_MIRROR_CLAMP_TO_EDGE_EXT:
@@ -1549,8 +1548,6 @@ _mesa_GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
       *params = lroundf(sampObj->Attrib.MaxAnisotropy);
       break;
    case GL_TEXTURE_BORDER_COLOR:
-      if (!ctx->Extensions.ARB_texture_border_clamp)
-         goto invalid_pname;
       params[0] = FLOAT_TO_INT(sampObj->Attrib.state.border_color.f[0]);
       params[1] = FLOAT_TO_INT(sampObj->Attrib.state.border_color.f[1]);
       params[2] = FLOAT_TO_INT(sampObj->Attrib.state.border_color.f[2]);
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 6c8605cf932..49996db57b1 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -80,7 +80,7 @@ validate_texture_wrap_mode(struct gl_context * ctx, GLenum target, GLenum wrap)
       break;
 
    case GL_CLAMP_TO_BORDER:
-      supported = ctx->API != API_OPENGLES && e->ARB_texture_border_clamp
+      supported = ctx->API != API_OPENGLES
          && (target != GL_TEXTURE_EXTERNAL_OES);
       break;
 
@@ -805,13 +805,8 @@ set_tex_parameterf(struct gl_context *ctx,
       /* Border color exists in desktop OpenGL since 1.0 for GL_CLAMP.  In
        * OpenGL ES 2.0+, it only exists in when GL_OES_texture_border_clamp is
        * enabled.  It is never available in OpenGL ES 1.x.
-       *
-       * FIXME: Every driver that supports GLES2 has this extension.  Elide
-       * the check?
        */
-      if (ctx->API == API_OPENGLES ||
-          (ctx->API == API_OPENGLES2 &&
-           !ctx->Extensions.ARB_texture_border_clamp))
+      if (ctx->API == API_OPENGLES)
          goto invalid_pname;
 
       if (!_mesa_target_allows_setting_sampler_parameters(texObj->Target))
@@ -2230,8 +2225,7 @@ get_tex_parameterfv(struct gl_context *ctx,
          *params = ENUM_TO_FLOAT(obj->Sampler.Attrib.WrapR);
          break;
       case GL_TEXTURE_BORDER_COLOR:
-         if (ctx->API == API_OPENGLES ||
-             !ctx->Extensions.ARB_texture_border_clamp)
+         if (ctx->API == API_OPENGLES)
             goto invalid_pname;
 
          if (_mesa_get_clamp_fragment_color(ctx, ctx->DrawBuffer)) {
@@ -2475,8 +2469,7 @@ get_tex_parameteriv(struct gl_context *ctx,
          *params = (GLint) obj->Sampler.Attrib.WrapR;
          break;
       case GL_TEXTURE_BORDER_COLOR:
-         if (ctx->API == API_OPENGLES ||
-             !ctx->Extensions.ARB_texture_border_clamp)
+         if (ctx->API == API_OPENGLES)
             goto invalid_pname;
 
          {
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index e2cfff38703..07d05493d61 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_border_clamp &&
-                         extensions->ARB_texture_cube_map &&
+   const bool ver_1_3 = (extensions->ARB_texture_cube_map &&
                          extensions->ARB_texture_env_combine &&
                          extensions->ARB_texture_env_dot3);
    const bool ver_1_4 = (ver_1_3 &&
@@ -587,7 +586,6 @@ compute_version_es2(const struct gl_extensions *extensions,
                          extensions->OES_primitive_bounding_box &&
                          extensions->OES_sample_variables &&
                          extensions->ARB_tessellation_shader &&
-                         extensions->ARB_texture_border_clamp &&
                          extensions->OES_texture_buffer &&
                          extensions->OES_texture_cube_map_array &&
                          extensions->ARB_texture_stencil8);
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 5880279176a..ecec363d71e 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_border_clamp = GL_TRUE;
    extensions->ARB_texture_cube_map = GL_TRUE;
    extensions->ARB_texture_env_combine = GL_TRUE;
    extensions->ARB_texture_env_crossbar = GL_TRUE;
@@ -1765,7 +1764,6 @@ void st_init_extensions(struct pipe_screen *screen,
       extensions->ARB_gpu_shader5 &&
       extensions->OES_primitive_bounding_box &&
       extensions->ARB_tessellation_shader &&
-      extensions->ARB_texture_border_clamp &&
       extensions->OES_texture_buffer &&
       extensions->OES_texture_cube_map_array &&
       extensions->EXT_texture_sRGB_decode;
@@ -1784,7 +1782,6 @@ void st_init_extensions(struct pipe_screen *screen,
       extensions->ARB_gpu_shader5 &&
       extensions->ARB_sample_shading &&
       extensions->ARB_tessellation_shader &&
-      extensions->ARB_texture_border_clamp &&
       extensions->OES_texture_buffer &&
       extensions->ARB_texture_cube_map_array &&
       extensions->ARB_texture_stencil8 &&



More information about the mesa-commit mailing list