summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/mesa
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2022-06-21 22:16:22 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-22 22:40:28 +0100
commitd49db48d352f8b4d1a16bb7a960fa1ceb2168243 (patch)
tree1fcc24be58a993604da8dbeb90aa2a2e2c72cb2e /meta/recipes-graphics/mesa
parent04a4ecd767c1bc33c0165792779f5d961aefd5f6 (diff)
downloadpoky-d49db48d352f8b4d1a16bb7a960fa1ceb2168243.tar.gz
mesa: update 22.0.3 -> 22.1.2
(From OE-Core rev: d5b2e40be6d6e4c52078ab5a087eefaa7330c320) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics/mesa')
-rw-r--r--meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch113
-rw-r--r--meta/recipes-graphics/mesa/mesa-gl_22.1.2.bb (renamed from meta/recipes-graphics/mesa/mesa-gl_22.0.3.bb)0
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc3
-rw-r--r--meta/recipes-graphics/mesa/mesa_22.1.2.bb (renamed from meta/recipes-graphics/mesa/mesa_22.0.3.bb)0
4 files changed, 115 insertions, 1 deletions
diff --git a/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch b/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch
new file mode 100644
index 0000000000..db25e16f4a
--- /dev/null
+++ b/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch
@@ -0,0 +1,113 @@
1From feb4ec510b1328fdd9aa77305d3273d1f9c7e124 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Thu, 9 Jun 2022 11:42:05 +0200
4Subject: [PATCH] swrast_kms: use swkmsDRI2Extension instead of
5 driDRI2Extension
6
7This set of changes:
8https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649
9
10caused a regression in Xorg when using swrast_kms:
11 (EE) AIGLX error: Calling driver entry point failed
12
13This commit changes the swrast_kms driver to use a dedicated screen init function
14(which I believe was overlooked); I also took the opportunity to rename the
15associated plumbling to have swrast-specific names.
16
17Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16942]
18Signed-off-by: Alexander Kanavin <alex@linutronix.de>
19---
20 src/gallium/frontends/dri/dri2.c | 16 ++++++++--------
21 src/gallium/frontends/dri/dri_screen.h | 4 ++--
22 src/gallium/frontends/dri/dri_util.c | 2 +-
23 src/gallium/targets/dri/target.c | 2 +-
24 4 files changed, 12 insertions(+), 12 deletions(-)
25
26diff --git a/src/gallium/frontends/dri/dri2.c b/src/gallium/frontends/dri/dri2.c
27index 63ac9d5..de33789 100644
28--- a/src/gallium/frontends/dri/dri2.c
29+++ b/src/gallium/frontends/dri/dri2.c
30@@ -2508,7 +2508,7 @@ release_pipe:
31 * Returns the struct gl_config supported by this driver.
32 */
33 static const __DRIconfig **
34-dri_kms_init_screen(__DRIscreen * sPriv)
35+dri_swrast_kms_init_screen(__DRIscreen * sPriv)
36 {
37 #if defined(GALLIUM_SOFTPIPE)
38 const __DRIconfig **configs;
39@@ -2613,8 +2613,8 @@ static const struct __DRIDriverVtableExtensionRec galliumdrm_vtable = {
40 * hook. The latter is used to explicitly initialise the kms_swrast driver
41 * rather than selecting the approapriate driver as suggested by the loader.
42 */
43-const struct __DriverAPIRec dri_kms_driver_api = {
44- .InitScreen = dri_kms_init_screen,
45+const struct __DriverAPIRec dri_swrast_kms_driver_api = {
46+ .InitScreen = dri_swrast_kms_init_screen,
47 .DestroyScreen = dri_destroy_screen,
48 .CreateBuffer = dri2_create_buffer,
49 .DestroyBuffer = dri_destroy_buffer,
50@@ -2633,17 +2633,17 @@ const __DRIextension *galliumdrm_driver_extensions[] = {
51 NULL
52 };
53
54-static const struct __DRIDriverVtableExtensionRec dri_kms_vtable = {
55+static const struct __DRIDriverVtableExtensionRec dri_swrast_kms_vtable = {
56 .base = { __DRI_DRIVER_VTABLE, 1 },
57- .vtable = &dri_kms_driver_api,
58+ .vtable = &dri_swrast_kms_driver_api,
59 };
60
61-const __DRIextension *dri_kms_driver_extensions[] = {
62+const __DRIextension *dri_swrast_kms_driver_extensions[] = {
63 &driCoreExtension.base,
64 &driImageDriverExtension.base,
65- &driDRI2Extension.base,
66+ &swkmsDRI2Extension.base,
67 &gallium_config_options.base,
68- &dri_kms_vtable.base,
69+ &dri_swrast_kms_vtable.base,
70 NULL
71 };
72
73diff --git a/src/gallium/frontends/dri/dri_screen.h b/src/gallium/frontends/dri/dri_screen.h
74index 0ee2feb..0bb8817 100644
75--- a/src/gallium/frontends/dri/dri_screen.h
76+++ b/src/gallium/frontends/dri/dri_screen.h
77@@ -168,8 +168,8 @@ dri_destroy_screen_helper(struct dri_screen * screen);
78 void
79 dri_destroy_screen(__DRIscreen * sPriv);
80
81-extern const struct __DriverAPIRec dri_kms_driver_api;
82-extern const __DRIextension *dri_kms_driver_extensions[];
83+extern const struct __DriverAPIRec dri_swrast_kms_driver_api;
84+extern const __DRIextension *dri_swrast_kms_driver_extensions[];
85 extern const struct __DriverAPIRec galliumdrm_driver_api;
86 extern const __DRIextension *galliumdrm_driver_extensions[];
87 extern const struct __DriverAPIRec galliumsw_driver_api;
88diff --git a/src/gallium/frontends/dri/dri_util.c b/src/gallium/frontends/dri/dri_util.c
89index 8d60526..03614e1 100644
90--- a/src/gallium/frontends/dri/dri_util.c
91+++ b/src/gallium/frontends/dri/dri_util.c
92@@ -187,7 +187,7 @@ swkmsCreateNewScreen(int scrn, int fd,
93 const __DRIconfig ***driver_configs, void *data)
94 {
95 return driCreateNewScreen2(scrn, fd, extensions,
96- dri_kms_driver_extensions,
97+ dri_swrast_kms_driver_extensions,
98 driver_configs, data);
99 }
100
101diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c
102index 9b78351..e02b03b 100644
103--- a/src/gallium/targets/dri/target.c
104+++ b/src/gallium/targets/dri/target.c
105@@ -25,7 +25,7 @@ const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
106
107 PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void)
108 {
109- return dri_kms_driver_extensions;
110+ return dri_swrast_kms_driver_extensions;
111 }
112
113 #endif
diff --git a/meta/recipes-graphics/mesa/mesa-gl_22.0.3.bb b/meta/recipes-graphics/mesa/mesa-gl_22.1.2.bb
index f2bc8f6b5b..f2bc8f6b5b 100644
--- a/meta/recipes-graphics/mesa/mesa-gl_22.0.3.bb
+++ b/meta/recipes-graphics/mesa/mesa-gl_22.1.2.bb
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 3c26b23ed5..83705fc34d 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -21,9 +21,10 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
21 file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ 21 file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
22 file://0001-util-format-Check-for-NEON-before-using-it.patch \ 22 file://0001-util-format-Check-for-NEON-before-using-it.patch \
23 file://0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch \ 23 file://0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch \
24 file://0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch \
24 " 25 "
25 26
26SRC_URI[sha256sum] = "9f2b30f5276a9abaf71aafc6979685e2636189de1a87aea2c9e69744a6d0ebb9" 27SRC_URI[sha256sum] = "0971226b4a6a3d10cfc255736b33e4017e18c14c9db1e53863ac1f8ae0deb9ea"
27 28
28UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" 29UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
29 30
diff --git a/meta/recipes-graphics/mesa/mesa_22.0.3.bb b/meta/recipes-graphics/mesa/mesa_22.1.2.bb
index 96e8aa38d6..96e8aa38d6 100644
--- a/meta/recipes-graphics/mesa/mesa_22.0.3.bb
+++ b/meta/recipes-graphics/mesa/mesa_22.1.2.bb