Mesa (main): mesa: OpenGL 1.3 feature GL_ARB_texture_cube_map is not optional
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Dec 15 20:55:06 UTC 2021
Module: Mesa
Branch: main
Commit: 7649ab1f03f6e020baa64db63bc2cc40f1bbbd88
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7649ab1f03f6e020baa64db63bc2cc40f1bbbd88
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Dec 14 17:06:49 2021 -0800
mesa: OpenGL 1.3 feature GL_ARB_texture_cube_map is not optional
Cheatsheet:
_mesa_has_ARB_texture_cube_map() becomes (true &&
ctx->Extensions.Version >=
_mesa_extension_table[...].version[ctx->API]). The last value is 0 when
ctx->API is API_OPENGL_COMPAT and ~0 otherwise. The whole function
effectively becomes (ctx->API == API_OPENGL_COMPAT).
_mesa_has_OES_texture_cube_map() becomes (true &&
ctx->Extensions.Version >=
_mesa_extension_table[...].version[ctx->API]). The last value is 0 when
ctx->API is API_OPENGLES and ~0 otherwise. The whole function
effectively becomes (ctx->API == API_OPENGLES).
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14203>
---
src/mesa/main/attrib.c | 6 ++----
src/mesa/main/enable.c | 6 ++----
src/mesa/main/extensions_table.h | 6 +++---
src/mesa/main/fbobject.c | 2 +-
src/mesa/main/formatquery.c | 2 +-
src/mesa/main/genmipmap.c | 2 +-
src/mesa/main/get.c | 4 +---
src/mesa/main/get_hash_params.py | 4 ++--
src/mesa/main/mtypes.h | 1 -
src/mesa/main/texgetimage.c | 2 +-
src/mesa/main/teximage.c | 16 +++++++---------
src/mesa/main/texobj.c | 9 +++------
src/mesa/main/texparam.c | 5 ++---
src/mesa/main/texstorage.c | 6 ++----
src/mesa/main/version.c | 6 ++----
src/mesa/state_tracker/st_extensions.c | 1 -
16 files changed, 30 insertions(+), 48 deletions(-)
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 6c93ef2620d..aa734c36aa5 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -510,10 +510,8 @@ pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib_node *ena
TEST_AND_UPDATE_BIT(old_enabled, enabled, TEXTURE_RECT_INDEX,
GL_TEXTURE_RECTANGLE);
}
- if (ctx->Extensions.ARB_texture_cube_map) {
- TEST_AND_UPDATE_BIT(old_enabled, enabled, TEXTURE_CUBE_INDEX,
- GL_TEXTURE_CUBE_MAP);
- }
+ TEST_AND_UPDATE_BIT(old_enabled, enabled, TEXTURE_CUBE_INDEX,
+ GL_TEXTURE_CUBE_MAP);
}
if (old_gen_enabled != gen_enabled) {
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index b39d19fd852..9e1a348ecdf 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -991,8 +991,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
/* GL_ARB_texture_cube_map */
case GL_TEXTURE_CUBE_MAP:
- if (!_mesa_has_ARB_texture_cube_map(ctx) &&
- !_mesa_has_OES_texture_cube_map(ctx))
+ if (ctx->API != API_OPENGL_COMPAT && ctx->API != API_OPENGLES)
goto invalid_enum_error;
if (!enable_texture(ctx, state, TEXTURE_CUBE_BIT)) {
return;
@@ -1831,8 +1830,7 @@ _mesa_IsEnabled( GLenum cap )
/* GL_ARB_texture_cube_map */
case GL_TEXTURE_CUBE_MAP:
- if (!_mesa_has_ARB_texture_cube_map(ctx) &&
- !_mesa_has_OES_texture_cube_map(ctx))
+ if (ctx->API != API_OPENGL_COMPAT && ctx->API != API_OPENGLES)
goto invalid_enum_error;
return is_texture_enabled(ctx, TEXTURE_CUBE_BIT);
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index ad2ba2cb103..72be42e02ff 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -154,7 +154,7 @@ EXT(ARB_texture_buffer_range , ARB_texture_buffer_range
EXT(ARB_texture_compression , dummy_true , GLL, x , x , x , 2000)
EXT(ARB_texture_compression_bptc , ARB_texture_compression_bptc , GLL, GLC, x , x , 2010)
EXT(ARB_texture_compression_rgtc , ARB_texture_compression_rgtc , GLL, GLC, x , x , 2004)
-EXT(ARB_texture_cube_map , ARB_texture_cube_map , GLL, x , x , x , 1999)
+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)
@@ -307,7 +307,7 @@ EXT(EXT_texture_compression_latc , EXT_texture_compression_latc
EXT(EXT_texture_compression_rgtc , ARB_texture_compression_rgtc , GLL, GLC, x , 30, 2004)
EXT(EXT_texture_compression_s3tc , EXT_texture_compression_s3tc , GLL, GLC, x , ES2, 2000)
EXT(EXT_texture_compression_s3tc_srgb , EXT_texture_compression_s3tc_srgb , x , x, x , ES2, 2016)
-EXT(EXT_texture_cube_map , ARB_texture_cube_map , GLL, x , x , x , 2001)
+EXT(EXT_texture_cube_map , dummy_true , GLL, x , x , x , 2001)
EXT(EXT_texture_cube_map_array , OES_texture_cube_map_array , x , x , x , 31, 2014)
EXT(EXT_texture_edge_clamp , dummy_true , GLL, x , x , x , 1997)
EXT(EXT_texture_env_add , dummy_true , GLL, x , x , x , 1999)
@@ -467,7 +467,7 @@ EXT(OES_texture_3D , dummy_true
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)
+EXT(OES_texture_cube_map , dummy_true , x , x , ES1, x , 2007)
EXT(OES_texture_cube_map_array , OES_texture_cube_map_array , x , x , x , 31, 2014)
EXT(OES_texture_env_crossbar , ARB_texture_env_crossbar , x , x , ES1, x , 2005)
EXT(OES_texture_float , OES_texture_float , x , x , x , ES2, 2005)
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index a4026bde2bb..9999ff0ba56 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -3625,7 +3625,7 @@ check_textarget(struct gl_context *ctx, int dims, GLenum target,
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- err = dims != 2 || !ctx->Extensions.ARB_texture_cube_map;
+ err = dims != 2;
break;
case GL_TEXTURE_3D:
err = dims != 3;
diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c
index 355aa0581e5..3c2d6d4708f 100644
--- a/src/mesa/main/formatquery.c
+++ b/src/mesa/main/formatquery.c
@@ -424,7 +424,7 @@ _is_target_supported(struct gl_context *ctx, GLenum target)
break;
case GL_TEXTURE_CUBE_MAP:
- if (ctx->API != API_OPENGL_CORE && !_mesa_has_ARB_texture_cube_map(ctx))
+ if (!_mesa_is_desktop_gl(ctx))
return false;
break;
diff --git a/src/mesa/main/genmipmap.c b/src/mesa/main/genmipmap.c
index d86fd4359b5..97d0ab36a13 100644
--- a/src/mesa/main/genmipmap.c
+++ b/src/mesa/main/genmipmap.c
@@ -58,7 +58,7 @@ _mesa_is_valid_generate_texture_mipmap_target(struct gl_context *ctx,
error = ctx->API == API_OPENGLES;
break;
case GL_TEXTURE_CUBE_MAP:
- error = !ctx->Extensions.ARB_texture_cube_map;
+ error = false;
break;
case GL_TEXTURE_1D_ARRAY:
error = _mesa_is_gles(ctx) || !ctx->Extensions.EXT_texture_array;
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index fe3b1318bcd..8df36f84464 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -524,7 +524,6 @@ static const int extra_ARB_framebuffer_object_or_EXT_framebuffer_multisample_or_
EXTRA_END
};
-EXTRA_EXT(ARB_texture_cube_map);
EXTRA_EXT(EXT_texture_array);
EXTRA_EXT(NV_fog_distance);
EXTRA_EXT(EXT_texture_filter_anisotropic);
@@ -2445,8 +2444,7 @@ tex_binding_to_index(const struct gl_context *ctx, GLenum binding)
case GL_TEXTURE_BINDING_3D:
return ctx->API != API_OPENGLES ? TEXTURE_3D_INDEX : -1;
case GL_TEXTURE_BINDING_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map
- ? TEXTURE_CUBE_INDEX : -1;
+ return TEXTURE_CUBE_INDEX;
case GL_TEXTURE_BINDING_RECTANGLE:
return _mesa_is_desktop_gl(ctx) && ctx->Extensions.NV_texture_rectangle
? TEXTURE_RECT_INDEX : -1;
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index f0782c75ffc..6c824c7aa6b 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -56,9 +56,9 @@ descriptor=[
# extensions below should mark the dependency.
# GL_ARB_texture_cube_map
- [ "TEXTURE_BINDING_CUBE_MAP_ARB", "LOC_CUSTOM, TYPE_INT, TEXTURE_CUBE_INDEX, extra_ARB_texture_cube_map" ],
+ [ "TEXTURE_BINDING_CUBE_MAP_ARB", "LOC_CUSTOM, TYPE_INT, TEXTURE_CUBE_INDEX, NO_EXTRA" ],
# XXX: OES_texture_cube_map
- [ "MAX_CUBE_MAP_TEXTURE_SIZE_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.MaxCubeTextureLevels), extra_ARB_texture_cube_map" ],
+ [ "MAX_CUBE_MAP_TEXTURE_SIZE_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.MaxCubeTextureLevels), NO_EXTRA" ],
# XXX: OES_blend_subtract
[ "BLEND_SRC_RGB", "CONTEXT_ENUM16(Color.Blend[0].SrcRGB), NO_EXTRA" ],
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index e7ba9ba759a..ef7e2418fce 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4449,7 +4449,6 @@ struct gl_extensions
GLboolean ARB_texture_buffer_range;
GLboolean ARB_texture_compression_bptc;
GLboolean ARB_texture_compression_rgtc;
- GLboolean ARB_texture_cube_map;
GLboolean ARB_texture_cube_map_array;
GLboolean ARB_texture_env_combine;
GLboolean ARB_texture_env_crossbar;
diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index 5a8f48e753d..d896c7ca6d8 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -876,7 +876,7 @@ legal_getteximage_target(struct gl_context *ctx, GLenum target, bool dsa)
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- return dsa ? GL_FALSE : ctx->Extensions.ARB_texture_cube_map;
+ return dsa ? GL_FALSE : GL_TRUE;
case GL_TEXTURE_CUBE_MAP:
return dsa ? GL_TRUE : GL_FALSE;
default:
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 226b14c8a55..52a1abd1701 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -502,8 +502,7 @@ _mesa_max_texture_levels(const struct gl_context *ctx, GLenum target)
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
case GL_PROXY_TEXTURE_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map
- ? ctx->Const.MaxCubeTextureLevels : 0;
+ return ctx->Const.MaxCubeTextureLevels;
case GL_TEXTURE_RECTANGLE_NV:
case GL_PROXY_TEXTURE_RECTANGLE_NV:
return ctx->Extensions.NV_texture_rectangle ? 1 : 0;
@@ -1400,7 +1399,7 @@ _mesa_target_can_be_compressed(const struct gl_context *ctx, GLenum target,
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- target_can_be_compresed = ctx->Extensions.ARB_texture_cube_map;
+ target_can_be_compresed = GL_TRUE;
break;
case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
case GL_TEXTURE_2D_ARRAY_EXT:
@@ -1522,15 +1521,14 @@ legal_teximage_target(struct gl_context *ctx, GLuint dims, GLenum target)
case GL_PROXY_TEXTURE_2D:
return _mesa_is_desktop_gl(ctx);
case GL_PROXY_TEXTURE_CUBE_MAP:
- return _mesa_is_desktop_gl(ctx)
- && ctx->Extensions.ARB_texture_cube_map;
+ return _mesa_is_desktop_gl(ctx);
case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- return ctx->Extensions.ARB_texture_cube_map;
+ return GL_TRUE;
case GL_TEXTURE_RECTANGLE_NV:
case GL_PROXY_TEXTURE_RECTANGLE_NV:
return _mesa_is_desktop_gl(ctx)
@@ -1588,7 +1586,7 @@ legal_texsubimage_target(struct gl_context *ctx, GLuint dims, GLenum target,
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- return ctx->Extensions.ARB_texture_cube_map;
+ return GL_TRUE;
case GL_TEXTURE_RECTANGLE_NV:
return _mesa_is_desktop_gl(ctx)
&& ctx->Extensions.NV_texture_rectangle;
@@ -5267,7 +5265,7 @@ compressed_subtexture_target_check(struct gl_context *ctx, GLenum target,
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- targetOK = ctx->Extensions.ARB_texture_cube_map;
+ targetOK = GL_TRUE;
break;
default:
targetOK = GL_FALSE;
@@ -5277,7 +5275,7 @@ compressed_subtexture_target_check(struct gl_context *ctx, GLenum target,
case 3:
switch (target) {
case GL_TEXTURE_CUBE_MAP:
- targetOK = dsa && ctx->Extensions.ARB_texture_cube_map;
+ targetOK = dsa;
break;
case GL_TEXTURE_2D_ARRAY:
targetOK = _mesa_is_gles3(ctx) ||
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 87fe6fc0a82..d5fce2fb5f8 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -173,11 +173,9 @@ _mesa_get_current_tex_object(struct gl_context *ctx, GLenum target)
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
case GL_TEXTURE_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map
- ? texUnit->CurrentTex[TEXTURE_CUBE_INDEX] : NULL;
+ return texUnit->CurrentTex[TEXTURE_CUBE_INDEX];
case GL_PROXY_TEXTURE_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map
- ? ctx->Texture.ProxyTex[TEXTURE_CUBE_INDEX] : NULL;
+ return ctx->Texture.ProxyTex[TEXTURE_CUBE_INDEX];
case GL_TEXTURE_CUBE_MAP_ARRAY:
return _mesa_has_texture_cube_map_array(ctx)
? texUnit->CurrentTex[TEXTURE_CUBE_ARRAY_INDEX] : NULL;
@@ -1563,8 +1561,7 @@ _mesa_tex_target_to_index(const struct gl_context *ctx, GLenum target)
case GL_TEXTURE_3D:
return ctx->API != API_OPENGLES ? TEXTURE_3D_INDEX : -1;
case GL_TEXTURE_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map
- ? TEXTURE_CUBE_INDEX : -1;
+ return TEXTURE_CUBE_INDEX;
case GL_TEXTURE_RECTANGLE:
return _mesa_is_desktop_gl(ctx) && ctx->Extensions.NV_texture_rectangle
? TEXTURE_RECT_INDEX : -1;
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 49996db57b1..63e5b072c9d 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -1557,7 +1557,7 @@ _mesa_legal_get_tex_level_parameter_target(struct gl_context *ctx, GLenum target
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- return ctx->Extensions.ARB_texture_cube_map;
+ return GL_TRUE;
case GL_TEXTURE_2D_MULTISAMPLE:
case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
return ctx->Extensions.ARB_texture_multisample;
@@ -1598,9 +1598,8 @@ _mesa_legal_get_tex_level_parameter_target(struct gl_context *ctx, GLenum target
case GL_PROXY_TEXTURE_1D:
case GL_PROXY_TEXTURE_2D:
case GL_PROXY_TEXTURE_3D:
- return GL_TRUE;
case GL_PROXY_TEXTURE_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map;
+ return GL_TRUE;
case GL_PROXY_TEXTURE_CUBE_MAP_ARRAY:
return ctx->Extensions.ARB_texture_cube_map_array;
case GL_TEXTURE_RECTANGLE_NV:
diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c
index 49705241b5c..8fe9a46603b 100644
--- a/src/mesa/main/texstorage.c
+++ b/src/mesa/main/texstorage.c
@@ -63,9 +63,8 @@ _mesa_is_legal_tex_storage_target(const struct gl_context *ctx,
case 2:
switch (target) {
case GL_TEXTURE_2D:
- return true;
case GL_TEXTURE_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map;
+ return true;
}
break;
case 3:
@@ -95,9 +94,8 @@ _mesa_is_legal_tex_storage_target(const struct gl_context *ctx,
case 2:
switch (target) {
case GL_PROXY_TEXTURE_2D:
- return true;
case GL_PROXY_TEXTURE_CUBE_MAP:
- return ctx->Extensions.ARB_texture_cube_map;
+ return true;
case GL_TEXTURE_RECTANGLE:
case GL_PROXY_TEXTURE_RECTANGLE:
return ctx->Extensions.NV_texture_rectangle;
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index 07d05493d61..f92e9d2b683 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_cube_map &&
- extensions->ARB_texture_env_combine &&
+ const bool ver_1_3 = (extensions->ARB_texture_env_combine &&
extensions->ARB_texture_env_dot3);
const bool ver_1_4 = (ver_1_3 &&
extensions->ARB_depth_texture &&
@@ -515,8 +514,7 @@ compute_version_es2(const struct gl_extensions *extensions,
const struct gl_constants *consts)
{
/* OpenGL ES 2.0 is derived from OpenGL 2.0 */
- const bool ver_2_0 = (extensions->ARB_texture_cube_map &&
- extensions->EXT_blend_color &&
+ const bool ver_2_0 = (extensions->EXT_blend_color &&
extensions->EXT_blend_func_separate &&
extensions->EXT_blend_minmax &&
extensions->ARB_vertex_shader &&
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index ecec363d71e..3e69786851c 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_cube_map = GL_TRUE;
extensions->ARB_texture_env_combine = GL_TRUE;
extensions->ARB_texture_env_crossbar = GL_TRUE;
extensions->ARB_texture_env_dot3 = GL_TRUE;
More information about the mesa-commit
mailing list