diff --git a/0001-Revert-glx-Guard-usage-of-infer_zink-explicit_zink-i.patch b/0001-Revert-glx-Guard-usage-of-infer_zink-explicit_zink-i.patch deleted file mode 100644 index 4f661ae..0000000 --- a/0001-Revert-glx-Guard-usage-of-infer_zink-explicit_zink-i.patch +++ /dev/null @@ -1,37 +0,0 @@ -From a17c79c9df4a55ce9dfbe878d9cd19441a4e193e Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Thu, 10 Nov 2022 15:20:24 +1000 -Subject: [PATCH 1/2] Revert "glx: Guard usage of infer_zink && !explicit_zink - in glxext.c" - -This reverts commit ffab4c8cb7bc7362cd3318f39162a98629bd4d19. ---- - src/glx/glxext.c | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/src/glx/glxext.c b/src/glx/glxext.c -index 7f2fc2a0691..156bfc90946 100644 ---- a/src/glx/glxext.c -+++ b/src/glx/glxext.c -@@ -969,7 +969,6 @@ __glXInitialize(Display * dpy) - #endif - - if (!AllocAndFetchScreenConfigs(dpy, dpyPriv)) { --#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) - Bool fail = true; - /* if zink was inferred, retry without zink */ - if (infer_zink && !explicit_zink) { -@@ -981,10 +980,6 @@ __glXInitialize(Display * dpy) - free(dpyPriv); - return NULL; - } --#else -- free(dpyPriv); -- return NULL; --#endif - } - - __glX_send_client_info(dpyPriv); --- -2.38.1 - diff --git a/0002-Revert-egl-glx-add-fallback-for-zink-loading.patch b/0002-Revert-egl-glx-add-fallback-for-zink-loading.patch deleted file mode 100644 index 2899031..0000000 --- a/0002-Revert-egl-glx-add-fallback-for-zink-loading.patch +++ /dev/null @@ -1,133 +0,0 @@ -From cb4d4c8e9c424969f2d7834e15fd8123dbbda84a Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Thu, 10 Nov 2022 15:27:08 +1000 -Subject: [PATCH 2/2] Revert "egl/glx: add fallback for zink loading" - -This reverts commit 2569215f43f6ce71fb8eb2181b36c6cf976bce2a. - -This break glxinfo in a swrast only VM for me on Fedora ---- - src/egl/main/eglapi.c | 22 ++++------------------ - src/glx/drisw_glx.c | 5 ++++- - src/glx/glxext.c | 29 ++++++----------------------- - 3 files changed, 14 insertions(+), 42 deletions(-) - -diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c -index 15f6e2e173b..041f35aa7b6 100644 ---- a/src/egl/main/eglapi.c -+++ b/src/egl/main/eglapi.c -@@ -701,26 +701,12 @@ eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor) - * If the initialisation fails, try again using only software rendering. - */ - if (!_eglDriver.Initialize(disp)) { -- bool fail = true; -- if (!disp->Options.ForceSoftware && !disp->Options.Zink && -- !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && !getenv("GALLIUM_DRIVER")) { -- /* zink fallback */ -- disp->Options.Zink = EGL_TRUE; -+ if (disp->Options.ForceSoftware) -+ RETURN_EGL_ERROR(disp, EGL_NOT_INITIALIZED, EGL_FALSE); -+ else { - disp->Options.ForceSoftware = EGL_TRUE; -- fail = !_eglDriver.Initialize(disp); -- if (fail) { -- disp->Options.Zink = EGL_FALSE; -- disp->Options.ForceSoftware = EGL_FALSE; -- } -- } -- if (fail) { -- if (disp->Options.ForceSoftware) -+ if (!_eglDriver.Initialize(disp)) - RETURN_EGL_ERROR(disp, EGL_NOT_INITIALIZED, EGL_FALSE); -- else { -- disp->Options.ForceSoftware = EGL_TRUE; -- if (!_eglDriver.Initialize(disp)) -- RETURN_EGL_ERROR(disp, EGL_NOT_INITIALIZED, EGL_FALSE); -- } - } - } - -diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c -index c124c62c31e..25d853fcd16 100644 ---- a/src/glx/drisw_glx.c -+++ b/src/glx/drisw_glx.c -@@ -1054,8 +1054,11 @@ static struct glx_screen * - driswCreateScreen(int screen, struct glx_display *priv) - { - const struct drisw_display *pdpyp = (struct drisw_display *)priv->driswDisplay; -+ if (pdpyp->zink && !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false)) { -+ return driswCreateScreenDriver(screen, priv, "zink"); -+ } - -- return driswCreateScreenDriver(screen, priv, pdpyp->zink ? "zink" : "swrast"); -+ return driswCreateScreenDriver(screen, priv, "swrast"); - } - - /* Called from __glXFreeDisplayPrivate. -diff --git a/src/glx/glxext.c b/src/glx/glxext.c -index 156bfc90946..e4da247b349 100644 ---- a/src/glx/glxext.c -+++ b/src/glx/glxext.c -@@ -923,9 +923,9 @@ __glXInitialize(Display * dpy) - #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) - Bool glx_direct = !debug_get_bool_option("LIBGL_ALWAYS_INDIRECT", false); - Bool glx_accel = !debug_get_bool_option("LIBGL_ALWAYS_SOFTWARE", false); -+ Bool zink; - const char *env = getenv("MESA_LOADER_DRIVER_OVERRIDE"); -- Bool explicit_zink = env && !strcmp(env, "zink"); -- Bool infer_zink = false; -+ zink = env && !strcmp(env, "zink"); - - dpyPriv->drawHash = __glxHashCreate(); - -@@ -940,25 +940,17 @@ __glXInitialize(Display * dpy) - ** (e.g., those called in AllocAndFetchScreenConfigs). - */ - #if defined(GLX_USE_DRM) -- if (glx_direct && glx_accel && !explicit_zink) { -+ if (glx_direct && glx_accel && !zink) { - #if defined(HAVE_DRI3) - if (!debug_get_bool_option("LIBGL_DRI3_DISABLE", false)) - dpyPriv->dri3Display = dri3_create_display(dpy); - #endif /* HAVE_DRI3 */ - if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false)) - dpyPriv->dri2Display = dri2CreateDisplay(dpy); -- /* zink fallback */ -- if (!dpyPriv->dri3Display && !dpyPriv->dri2Display) -- infer_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && !getenv("GALLIUM_DRIVER"); - } - #endif /* GLX_USE_DRM */ - if (glx_direct) -- dpyPriv->driswDisplay = driswCreateDisplay(dpy, explicit_zink | infer_zink); -- --#ifdef GLX_USE_WINDOWSGL -- if (glx_direct && glx_accel) -- dpyPriv->windowsdriDisplay = driwindowsCreateDisplay(dpy); --#endif -+ dpyPriv->driswDisplay = driswCreateDisplay(dpy, zink); - #endif /* GLX_DIRECT_RENDERING && !GLX_USE_APPLEGL */ - - #ifdef GLX_USE_APPLEGL -@@ -969,17 +961,8 @@ __glXInitialize(Display * dpy) - #endif - - if (!AllocAndFetchScreenConfigs(dpy, dpyPriv)) { -- Bool fail = true; -- /* if zink was inferred, retry without zink */ -- if (infer_zink && !explicit_zink) { -- free(dpyPriv->screens); -- driswCreateDisplay(dpy, false); -- fail = !AllocAndFetchScreenConfigs(dpy, dpyPriv); -- } -- if (fail) { -- free(dpyPriv); -- return NULL; -- } -+ free(dpyPriv); -+ return NULL; - } - - __glX_send_client_info(dpyPriv); --- -2.38.1 - diff --git a/mesa.spec b/mesa.spec index 1f80201..688ec0d 100644 --- a/mesa.spec +++ b/mesa.spec @@ -53,7 +53,7 @@ Name: mesa Summary: Mesa graphics libraries -%global ver 22.3.0-rc2 +%global ver 22.3.0-rc3 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} Release: %autorelease License: MIT @@ -65,10 +65,6 @@ Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz # Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. Source1: Mesa-MLAA-License-Clarification-Email.txt -# revert zink autoloader it breaks glxinfo in a VM -Patch10: 0001-Revert-glx-Guard-usage-of-infer_zink-explicit_zink-i.patch -Patch11: 0002-Revert-egl-glx-add-fallback-for-zink-loading.patch - BuildRequires: meson >= 0.61.4 BuildRequires: gcc BuildRequires: gcc-c++ diff --git a/sources b/sources index c8c6b75..c46f36e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mesa-22.3.0-rc2.tar.xz) = dad41ba87b5f55c4e6f3478c348c14fc8b2b29beb87f20d99cedeeeb47bb787e2fe98570544cdb9bb06466fc3c61a43b9797d27e5f1b700c608ef539a5916fd4 +SHA512 (mesa-22.3.0-rc3.tar.xz) = 4f67a3343b82ccf2ba0ed085199da4ae69cd9c144c998ca2730eb133fe78d9ad86fe967138a58bdeba8e387876d1aac4e37494faadb4dc77ce7f44704cb39e6b