Update to mesa 22.3.0-rc3
Enable hasvk, include st/mesa fix Resolves: rhbz#2117184
This commit is contained in:
parent
54717c8ad9
commit
44fd4cd008
@ -1,37 +0,0 @@
|
||||
From a17c79c9df4a55ce9dfbe878d9cd19441a4e193e Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
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
|
||||
|
@ -0,0 +1,41 @@
|
||||
From d871958702ebcd46213cd09b91b9b05685f9be62 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= <marek.olsak@amd.com>
|
||||
Date: Thu, 17 Nov 2022 08:31:33 -0500
|
||||
Subject: [PATCH] st/mesa: suppress async glthread flushing for
|
||||
GLX_EXT_texture_from_pixmap
|
||||
|
||||
This might fix some window system issues.
|
||||
|
||||
Fixes: 3da170faaec - glthread: change when glFlush flushes asynchronously
|
||||
|
||||
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19809>
|
||||
---
|
||||
src/mesa/state_tracker/st_manager.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
|
||||
index 0e8644f2b8d..575b72937c7 100644
|
||||
--- a/src/mesa/state_tracker/st_manager.c
|
||||
+++ b/src/mesa/state_tracker/st_manager.c
|
||||
@@ -832,6 +832,9 @@ st_context_flush(struct st_context_iface *stctxi, unsigned flags,
|
||||
st->gfx_shaders_may_be_dirty = true;
|
||||
}
|
||||
|
||||
+/* This is only for GLX_EXT_texture_from_pixmap and equivalent features
|
||||
+ * in EGL and WGL.
|
||||
+ */
|
||||
static bool
|
||||
st_context_teximage(struct st_context_iface *stctxi,
|
||||
enum st_texture_type tex_type,
|
||||
@@ -915,6 +918,7 @@ st_context_teximage(struct st_context_iface *stctxi,
|
||||
texObj->needs_validation = true;
|
||||
|
||||
_mesa_dirty_texobj(ctx, texObj);
|
||||
+ ctx->Shared->HasExternallySharedImages = true;
|
||||
_mesa_unlock_texture(ctx, texObj);
|
||||
|
||||
return true;
|
||||
--
|
||||
2.38.1
|
||||
|
@ -1,133 +0,0 @@
|
||||
From cb4d4c8e9c424969f2d7834e15fd8123dbbda84a Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
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
|
||||
|
13
mesa.spec
13
mesa.spec
@ -16,7 +16,7 @@
|
||||
%global with_crocus 1
|
||||
%global with_vmware 1
|
||||
%global with_xa 1
|
||||
%global platform_vulkan ,intel
|
||||
%global platform_vulkan ,intel,intel_hasvk
|
||||
%endif
|
||||
|
||||
%ifarch %{arm} aarch64
|
||||
@ -52,7 +52,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: 1%{?dist}
|
||||
License: MIT
|
||||
@ -64,9 +64,7 @@ Source0: https://mesa.freedesktop.org/archive/%{name}-%{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
|
||||
Patch10: 0001-st-mesa-suppress-async-glthread-flushing-for-GLX_EXT.patch
|
||||
|
||||
BuildRequires: meson >= 0.45
|
||||
BuildRequires: gcc
|
||||
@ -591,6 +589,8 @@ popd
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_libdir}/libvulkan_intel.so
|
||||
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
||||
%{_libdir}/libvulkan_intel_hasvk.so
|
||||
%{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json
|
||||
%endif
|
||||
%ifarch %{arm} aarch64
|
||||
%{_libdir}/libvulkan_broadcom.so
|
||||
@ -601,6 +601,9 @@ popd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Nov 23 2022 Dave Airlie <airlied@redhat.com> - 22.3.0~rc3.1
|
||||
- Update to mesa 22.3.0-rc3
|
||||
|
||||
* Fri Nov 11 2022 Dave Airlie <airlied@redhat.com> - 22.3.0~rc2.1
|
||||
- Update to mesa 22.3.0-rc2
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (mesa-22.3.0-rc2.tar.xz) = dad41ba87b5f55c4e6f3478c348c14fc8b2b29beb87f20d99cedeeeb47bb787e2fe98570544cdb9bb06466fc3c61a43b9797d27e5f1b700c608ef539a5916fd4
|
||||
SHA512 (mesa-22.3.0-rc3.tar.xz) = 4f67a3343b82ccf2ba0ed085199da4ae69cd9c144c998ca2730eb133fe78d9ad86fe967138a58bdeba8e387876d1aac4e37494faadb4dc77ce7f44704cb39e6b
|
||||
|
Loading…
Reference in New Issue
Block a user