diff mbox series

package/mesa3d: fix glxinfo crash when gles1 is disabled

Message ID 20230518213053.33760-1-romain.naour@gmail.com
State Accepted
Headers show
Series package/mesa3d: fix glxinfo crash when gles1 is disabled | expand

Commit Message

Romain Naour May 18, 2023, 9:30 p.m. UTC
mesa3d 23.1 introduced a regression crashing glxinfo (and some piglit tests)
when gles1 is disabled.
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/4287983490

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 .checkpackageignore                           |  1 +
 ...arly-when-trying-to-create-an-unsupp.patch | 50 +++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch

Comments

Baruch Siach May 19, 2023, 3:35 a.m. UTC | #1
Hi Romain,

On Thu, May 18 2023, Romain Naour wrote:
> mesa3d 23.1 introduced a regression crashing glxinfo (and some piglit tests)
> when gles1 is disabled.
> See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038
>
> Fixes:
> https://gitlab.com/buildroot.org/buildroot/-/jobs/4287983490
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  .checkpackageignore                           |  1 +
>  ...arly-when-trying-to-create-an-unsupp.patch | 50 +++++++++++++++++++
>  2 files changed, 51 insertions(+)
>  create mode 100644 package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 947f4606aa..eb572de9f1 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -995,6 +995,7 @@ package/mender-connect/S43mender-connect Shellcheck
>  package/menu-cache/0001-Support-gcc10-compilation.patch Upstream
>  package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch Upstream
>  package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch Upstream
> +package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch Upstream

I think the patch should have proper Upstream tag as described in the
manual (docs/manual/patch-policy.txt). .checkpackageignore is only for
existing non conforming patches.

baruch

>  package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch Upstream
>  package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch Upstream
>  package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch Upstream
> diff --git
> a/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
> b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
> new file mode 100644
> index 0000000000..6080a551cc
> --- /dev/null
> +++ b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
> @@ -0,0 +1,50 @@
> +From 2a6908ff4c94284b39c3cd4c97e1069876720eb7 Mon Sep 17 00:00:00 2001
> +From: Jordan Justen <jordan.l.justen@intel.com>
> +Date: Tue, 16 May 2023 18:46:50 -0700
> +Subject: [PATCH] mesa/main: Exit early when trying to create an unsupported
> + context API
> +
> +Fixes: adbe8b6c17a ("mesa: optimize out _mesa_is_desktop_gl*() and _mesa_is_gles*() calls when not built")
> +Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038
> +Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
> +Reviewed-by: Eric Engestrom <eric@engestrom.ch>
> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23068>
> +(cherry picked from commit 8bb1ecaa02177720758255bdd7ec34a5d15feca4)
> +[Romain: backport to 23.1]
> +Signed-off-by: Romain Naour <romain.naour@gmail.com>
> +---
> + src/mesa/main/context.c | 18 ++++++++++++++++++
> + 1 file changed, 18 insertions(+)
> +
> +diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
> +index d8eea2ea867..2b810b0d863 100644
> +--- a/src/mesa/main/context.c
> ++++ b/src/mesa/main/context.c
> +@@ -996,6 +996,24 @@ _mesa_initialize_context(struct gl_context *ctx,
> +    struct gl_shared_state *shared;
> +    int i;
> + 
> ++   switch (api) {
> ++   case API_OPENGL_COMPAT:
> ++   case API_OPENGL_CORE:
> ++      if (!HAVE_OPENGL)
> ++         return GL_FALSE;
> ++      break;
> ++   case API_OPENGLES2:
> ++      if (!HAVE_OPENGL_ES_2)
> ++         return GL_FALSE;
> ++      break;
> ++   case API_OPENGLES:
> ++      if (!HAVE_OPENGL_ES_1)
> ++         return GL_FALSE;
> ++      break;
> ++   default:
> ++      return GL_FALSE;
> ++   }
> ++
> +    ctx->API = api;
> +    ctx->DrawBuffer = NULL;
> +    ctx->ReadBuffer = NULL;
> +-- 
> +2.40.1
> +
Romain Naour May 19, 2023, 9:13 p.m. UTC | #2
Hi Baruch,

Le 19/05/2023 à 05:35, Baruch Siach a écrit :
> Hi Romain,
> 
> On Thu, May 18 2023, Romain Naour wrote:
>> mesa3d 23.1 introduced a regression crashing glxinfo (and some piglit tests)
>> when gles1 is disabled.
>> See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038
>>
>> Fixes:
>> https://gitlab.com/buildroot.org/buildroot/-/jobs/4287983490
>>
>> Signed-off-by: Romain Naour <romain.naour@gmail.com>
>> Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
>> ---
>>  .checkpackageignore                           |  1 +
>>  ...arly-when-trying-to-create-an-unsupp.patch | 50 +++++++++++++++++++
>>  2 files changed, 51 insertions(+)
>>  create mode 100644 package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
>>
>> diff --git a/.checkpackageignore b/.checkpackageignore
>> index 947f4606aa..eb572de9f1 100644
>> --- a/.checkpackageignore
>> +++ b/.checkpackageignore
>> @@ -995,6 +995,7 @@ package/mender-connect/S43mender-connect Shellcheck
>>  package/menu-cache/0001-Support-gcc10-compilation.patch Upstream
>>  package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch Upstream
>>  package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch Upstream
>> +package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch Upstream
> 
> I think the patch should have proper Upstream tag as described in the
> manual (docs/manual/patch-policy.txt). .checkpackageignore is only for
> existing non conforming patches.

Ok thanks, I haven't closely followed recent changes about patch policy.
I thought that it was enough with "(cherry picked from commit ..." (generated by
git cherry-pick -x) to avoid the checkpackage warning.

Best regards,
Romain


> 
> baruch
> 
>>  package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch Upstream
>>  package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch Upstream
>>  package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch Upstream
>> diff --git
>> a/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
>> b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
>> new file mode 100644
>> index 0000000000..6080a551cc
>> --- /dev/null
>> +++ b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
>> @@ -0,0 +1,50 @@
>> +From 2a6908ff4c94284b39c3cd4c97e1069876720eb7 Mon Sep 17 00:00:00 2001
>> +From: Jordan Justen <jordan.l.justen@intel.com>
>> +Date: Tue, 16 May 2023 18:46:50 -0700
>> +Subject: [PATCH] mesa/main: Exit early when trying to create an unsupported
>> + context API
>> +
>> +Fixes: adbe8b6c17a ("mesa: optimize out _mesa_is_desktop_gl*() and _mesa_is_gles*() calls when not built")
>> +Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038
>> +Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
>> +Reviewed-by: Eric Engestrom <eric@engestrom.ch>
>> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23068>
>> +(cherry picked from commit 8bb1ecaa02177720758255bdd7ec34a5d15feca4)
>> +[Romain: backport to 23.1]
>> +Signed-off-by: Romain Naour <romain.naour@gmail.com>
>> +---
>> + src/mesa/main/context.c | 18 ++++++++++++++++++
>> + 1 file changed, 18 insertions(+)
>> +
>> +diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
>> +index d8eea2ea867..2b810b0d863 100644
>> +--- a/src/mesa/main/context.c
>> ++++ b/src/mesa/main/context.c
>> +@@ -996,6 +996,24 @@ _mesa_initialize_context(struct gl_context *ctx,
>> +    struct gl_shared_state *shared;
>> +    int i;
>> + 
>> ++   switch (api) {
>> ++   case API_OPENGL_COMPAT:
>> ++   case API_OPENGL_CORE:
>> ++      if (!HAVE_OPENGL)
>> ++         return GL_FALSE;
>> ++      break;
>> ++   case API_OPENGLES2:
>> ++      if (!HAVE_OPENGL_ES_2)
>> ++         return GL_FALSE;
>> ++      break;
>> ++   case API_OPENGLES:
>> ++      if (!HAVE_OPENGL_ES_1)
>> ++         return GL_FALSE;
>> ++      break;
>> ++   default:
>> ++      return GL_FALSE;
>> ++   }
>> ++
>> +    ctx->API = api;
>> +    ctx->DrawBuffer = NULL;
>> +    ctx->ReadBuffer = NULL;
>> +-- 
>> +2.40.1
>> +
> 
>
Yann E. MORIN May 21, 2023, 5:51 p.m. UTC | #3
Romain, All,

On 2023-05-18 23:30 +0200, Romain Naour spake thusly:
> mesa3d 23.1 introduced a regression crashing glxinfo (and some piglit tests)
> when gles1 is disabled.
> See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038
> 
> Fixes:
> https://gitlab.com/buildroot.org/buildroot/-/jobs/4287983490
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  .checkpackageignore                           |  1 +
>  ...arly-when-trying-to-create-an-unsupp.patch | 50 +++++++++++++++++++
>  2 files changed, 51 insertions(+)
>  create mode 100644 package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
> 
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 947f4606aa..eb572de9f1 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -995,6 +995,7 @@ package/mender-connect/S43mender-connect Shellcheck
>  package/menu-cache/0001-Support-gcc10-compilation.patch Upstream
>  package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch Upstream
>  package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch Upstream
> +package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch Upstream

Do not add a (patch) entry to .checkpackagignore; this ignore list is
only for exsiting files, while new fiels must adhere to codign style
(unless dully explained and justified in the commit log).

In this case, as Baruch noticed, the issue was just about having a
proper "Upstream:" tag, see below..

>  package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch Upstream
>  package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch Upstream
>  package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch Upstream
> diff --git a/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
> new file mode 100644
> index 0000000000..6080a551cc
> --- /dev/null
> +++ b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
> @@ -0,0 +1,50 @@
> +From 2a6908ff4c94284b39c3cd4c97e1069876720eb7 Mon Sep 17 00:00:00 2001
> +From: Jordan Justen <jordan.l.justen@intel.com>
> +Date: Tue, 16 May 2023 18:46:50 -0700
> +Subject: [PATCH] mesa/main: Exit early when trying to create an unsupported
> + context API
> +
> +Fixes: adbe8b6c17a ("mesa: optimize out _mesa_is_desktop_gl*() and _mesa_is_gles*() calls when not built")
> +Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038
> +Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
> +Reviewed-by: Eric Engestrom <eric@engestrom.ch>
> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23068>
> +(cherry picked from commit 8bb1ecaa02177720758255bdd7ec34a5d15feca4)

The recently added rule is to have the upstream status denoted with an
"Upstream:" tag:

    https://buildroot.org/downloads/manual/manual.html#_additional_patch_documentation

So I fixed that, and applied to master, thanks.

Regards,
Yann E. MORIN.

> +[Romain: backport to 23.1]
> +Signed-off-by: Romain Naour <romain.naour@gmail.com>
> +---
> + src/mesa/main/context.c | 18 ++++++++++++++++++
> + 1 file changed, 18 insertions(+)
> +
> +diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
> +index d8eea2ea867..2b810b0d863 100644
> +--- a/src/mesa/main/context.c
> ++++ b/src/mesa/main/context.c
> +@@ -996,6 +996,24 @@ _mesa_initialize_context(struct gl_context *ctx,
> +    struct gl_shared_state *shared;
> +    int i;
> + 
> ++   switch (api) {
> ++   case API_OPENGL_COMPAT:
> ++   case API_OPENGL_CORE:
> ++      if (!HAVE_OPENGL)
> ++         return GL_FALSE;
> ++      break;
> ++   case API_OPENGLES2:
> ++      if (!HAVE_OPENGL_ES_2)
> ++         return GL_FALSE;
> ++      break;
> ++   case API_OPENGLES:
> ++      if (!HAVE_OPENGL_ES_1)
> ++         return GL_FALSE;
> ++      break;
> ++   default:
> ++      return GL_FALSE;
> ++   }
> ++
> +    ctx->API = api;
> +    ctx->DrawBuffer = NULL;
> +    ctx->ReadBuffer = NULL;
> +-- 
> +2.40.1
> +
> -- 
> 2.40.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/.checkpackageignore b/.checkpackageignore
index 947f4606aa..eb572de9f1 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -995,6 +995,7 @@  package/mender-connect/S43mender-connect Shellcheck
 package/menu-cache/0001-Support-gcc10-compilation.patch Upstream
 package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch Upstream
 package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch Upstream
+package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch Upstream
 package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch Upstream
 package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch Upstream
 package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch Upstream
diff --git a/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
new file mode 100644
index 0000000000..6080a551cc
--- /dev/null
+++ b/package/mesa3d/0005-mesa-main-Exit-early-when-trying-to-create-an-unsupp.patch
@@ -0,0 +1,50 @@ 
+From 2a6908ff4c94284b39c3cd4c97e1069876720eb7 Mon Sep 17 00:00:00 2001
+From: Jordan Justen <jordan.l.justen@intel.com>
+Date: Tue, 16 May 2023 18:46:50 -0700
+Subject: [PATCH] mesa/main: Exit early when trying to create an unsupported
+ context API
+
+Fixes: adbe8b6c17a ("mesa: optimize out _mesa_is_desktop_gl*() and _mesa_is_gles*() calls when not built")
+Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9038
+Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
+Reviewed-by: Eric Engestrom <eric@engestrom.ch>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23068>
+(cherry picked from commit 8bb1ecaa02177720758255bdd7ec34a5d15feca4)
+[Romain: backport to 23.1]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ src/mesa/main/context.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
+index d8eea2ea867..2b810b0d863 100644
+--- a/src/mesa/main/context.c
++++ b/src/mesa/main/context.c
+@@ -996,6 +996,24 @@ _mesa_initialize_context(struct gl_context *ctx,
+    struct gl_shared_state *shared;
+    int i;
+ 
++   switch (api) {
++   case API_OPENGL_COMPAT:
++   case API_OPENGL_CORE:
++      if (!HAVE_OPENGL)
++         return GL_FALSE;
++      break;
++   case API_OPENGLES2:
++      if (!HAVE_OPENGL_ES_2)
++         return GL_FALSE;
++      break;
++   case API_OPENGLES:
++      if (!HAVE_OPENGL_ES_1)
++         return GL_FALSE;
++      break;
++   default:
++      return GL_FALSE;
++   }
++
+    ctx->API = api;
+    ctx->DrawBuffer = NULL;
+    ctx->ReadBuffer = NULL;
+-- 
+2.40.1
+