From fbdfb2fbc88ed714c351ae58f7a1d9485bb39627 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Wed, 24 Mar 2021 20:21:19 +0000 Subject: [PATCH] Update to 20.3.5 --- ...glx-proposed-fix-for-setSwapInterval.patch | 33 ------- fix-egl.patch | 89 ------------------- mesa.spec | 13 ++- sources | 2 +- 4 files changed, 6 insertions(+), 131 deletions(-) delete mode 100644 0001-glx-proposed-fix-for-setSwapInterval.patch delete mode 100644 fix-egl.patch diff --git a/0001-glx-proposed-fix-for-setSwapInterval.patch b/0001-glx-proposed-fix-for-setSwapInterval.patch deleted file mode 100644 index 532391a..0000000 --- a/0001-glx-proposed-fix-for-setSwapInterval.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d2dfc356e26e607bf0808e1b5a747cc1a2699681 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Mon, 22 Feb 2021 15:57:01 +1000 -Subject: [PATCH] glx: proposed fix for setSwapInterval - -When mesa gets a DRI2 1.1 connection (as experienced with -vmwware DDX) we don't get a pointer for this. - -Don't explode just keep going. - -Fixes: 60ebeb4608a8 ("glx: Implement GLX_EXT_swap_control for DRI2 and DRI3") ---- - src/glx/glxcmds.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c -index 7882d606554..5d5d77d4f3d 100644 ---- a/src/glx/glxcmds.c -+++ b/src/glx/glxcmds.c -@@ -1863,8 +1863,8 @@ glXSwapIntervalEXT(Display *dpy, GLXDrawable drawable, int interval) - __glXSendError(dpy, BadValue, interval, 0, True); - return; - } -- -- pdraw->psc->driScreen->setSwapInterval(pdraw, interval); -+ if (pdraw->psc->driScreen->setSwapInterval) -+ pdraw->psc->driScreen->setSwapInterval(pdraw, interval); - #endif - } - --- -2.26.2 - diff --git a/fix-egl.patch b/fix-egl.patch deleted file mode 100644 index 49af85c..0000000 --- a/fix-egl.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c -index 8747ef4aa8a..3b34e32cd21 100644 ---- a/src/gallium/drivers/iris/iris_resource.c -+++ b/src/gallium/drivers/iris/iris_resource.c -@@ -1125,6 +1125,20 @@ iris_flush_resource(struct pipe_context *ctx, struct pipe_resource *resource) - 0, INTEL_REMAINING_LAYERS, - mod ? mod->aux_usage : ISL_AUX_USAGE_NONE, - mod ? mod->supports_clear_color : false); -+ -+ if (!res->mod_info && res->aux.usage != ISL_AUX_USAGE_NONE) { -+ /* flush_resource may be used to prepare an image for sharing external -+ * to the driver (e.g. via eglCreateImage). To account for this, make -+ * sure to get rid of any compression that a consumer wouldn't know how -+ * to handle. -+ */ -+ for (int i = 0; i < IRIS_BATCH_COUNT; i++) { -+ if (iris_batch_references(&ice->batches[i], res->bo)) -+ iris_batch_flush(&ice->batches[i]); -+ } -+ -+ iris_resource_disable_aux(res); -+ } - } - - static void -diff --git a/src/gallium/frontends/dri/dri_helpers.c b/src/gallium/frontends/dri/dri_helpers.c -index 01a1fb3d96c..5e87df35a55 100644 ---- a/src/gallium/frontends/dri/dri_helpers.c -+++ b/src/gallium/frontends/dri/dri_helpers.c -@@ -258,7 +258,9 @@ dri2_create_image_from_renderbuffer2(__DRIcontext *context, - int renderbuffer, void *loaderPrivate, - unsigned *error) - { -- struct gl_context *ctx = ((struct st_context *)dri_context(context)->st)->ctx; -+ struct st_context *st_ctx = (struct st_context *)dri_context(context)->st; -+ struct gl_context *ctx = st_ctx->ctx; -+ struct pipe_context *p_ctx = st_ctx->pipe; - struct gl_renderbuffer *rb; - struct pipe_resource *tex; - __DRIimage *img; -@@ -299,6 +301,13 @@ dri2_create_image_from_renderbuffer2(__DRIcontext *context, - - pipe_resource_reference(&img->texture, tex); - -+ /* If the resource supports EGL_MESA_image_dma_buf_export, make sure that -+ * it's in a shareable state. Do this now while we still have the access to -+ * the context. -+ */ -+ if (dri2_get_mapping_by_format(img->dri_format)) -+ p_ctx->flush_resource(p_ctx, tex); -+ - *error = __DRI_IMAGE_ERROR_SUCCESS; - return img; - } -@@ -326,7 +335,9 @@ dri2_create_from_texture(__DRIcontext *context, int target, unsigned texture, - void *loaderPrivate) - { - __DRIimage *img; -- struct gl_context *ctx = ((struct st_context *)dri_context(context)->st)->ctx; -+ struct st_context *st_ctx = (struct st_context *)dri_context(context)->st; -+ struct gl_context *ctx = st_ctx->ctx; -+ struct pipe_context *p_ctx = st_ctx->pipe; - struct gl_texture_object *obj; - struct pipe_resource *tex; - GLuint face = 0; -@@ -376,6 +387,13 @@ dri2_create_from_texture(__DRIcontext *context, int target, unsigned texture, - - pipe_resource_reference(&img->texture, tex); - -+ /* If the resource supports EGL_MESA_image_dma_buf_export, make sure that -+ * it's in a shareable state. Do this now while we still have the access to -+ * the context. -+ */ -+ if (dri2_get_mapping_by_format(img->dri_format)) -+ p_ctx->flush_resource(p_ctx, tex); -+ - *error = __DRI_IMAGE_ERROR_SUCCESS; - return img; - } -@@ -547,6 +565,9 @@ dri2_get_mapping_by_fourcc(int fourcc) - const struct dri2_format_mapping * - dri2_get_mapping_by_format(int format) - { -+ if (format == __DRI_IMAGE_FORMAT_NONE) -+ return NULL; -+ - for (unsigned i = 0; i < ARRAY_SIZE(dri2_format_table); i++) { - if (dri2_format_table[i].dri_format == format) - return &dri2_format_table[i]; diff --git a/mesa.spec b/mesa.spec index 464a954..99e62fd 100644 --- a/mesa.spec +++ b/mesa.spec @@ -50,9 +50,9 @@ Name: mesa Summary: Mesa graphics libraries -%global ver 20.3.4 +%global ver 20.3.5 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 2%{?dist} +Release: 1%{?dist} License: MIT URL: http://www.mesa3d.org @@ -62,12 +62,6 @@ 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 -# fix qemu/egl issue -Patch2: fix-egl.patch - -# fix vmwgfx/sddm issue -Patch3: 0001-glx-proposed-fix-for-setSwapInterval.patch - BuildRequires: meson >= 0.45 BuildRequires: gcc BuildRequires: gcc-c++ @@ -597,6 +591,9 @@ popd %endif %changelog +* Wed Mar 24 2021 Pete Walter - 20.3.5-1 +- Update to 20.3.5 + * Mon Feb 22 2021 Dave Airlie - 20.3.4-2 - Attempt to fix vmwgfx/sddm crash. diff --git a/sources b/sources index 16710b4..56f8cdf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mesa-20.3.4.tar.xz) = 81c4d032213b4aef842f1594e0e89bc0045f7ca7ce5f267b62a0f8236eb12ab09c1f780d8b3776b3072f37cd0bd8829f8a1330a749ccf462471b262ef8097477 +SHA512 (mesa-20.3.5.tar.xz) = 481e710ed80d8f215a8d541cfe51b960862c2403c2b9e7e6932c8236b8decb5d478871d6c73559d6d795ada143803764f3a93b2329588c80f62e2e5ec98c78a9