From c11641ab2419f961bbaea0d4e1c806a4fea5f819 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 14 Dec 2021 16:43:32 -0800 Subject: [PATCH] mesa: OpenGL 1.3 feature GL_ARB_texture_border_clamp is not optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Marek Olšák Part-of: --- 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 &&