Update to 20.3.5
This commit is contained in:
parent
5e07467ada
commit
fbdfb2fbc8
@ -1,33 +0,0 @@
|
|||||||
From d2dfc356e26e607bf0808e1b5a747cc1a2699681 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dave Airlie <airlied@redhat.com>
|
|
||||||
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
|
|
||||||
|
|
@ -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];
|
|
13
mesa.spec
13
mesa.spec
@ -50,9 +50,9 @@
|
|||||||
|
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
%global ver 20.3.4
|
%global ver 20.3.5
|
||||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://www.mesa3d.org
|
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.
|
# 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
|
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: meson >= 0.45
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -597,6 +591,9 @@ popd
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 24 2021 Pete Walter <pwalter@fedoraproject.org> - 20.3.5-1
|
||||||
|
- Update to 20.3.5
|
||||||
|
|
||||||
* Mon Feb 22 2021 Dave Airlie <airlied@redhat.com> - 20.3.4-2
|
* Mon Feb 22 2021 Dave Airlie <airlied@redhat.com> - 20.3.4-2
|
||||||
- Attempt to fix vmwgfx/sddm crash.
|
- Attempt to fix vmwgfx/sddm crash.
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (mesa-20.3.4.tar.xz) = 81c4d032213b4aef842f1594e0e89bc0045f7ca7ce5f267b62a0f8236eb12ab09c1f780d8b3776b3072f37cd0bd8829f8a1330a749ccf462471b262ef8097477
|
SHA512 (mesa-20.3.5.tar.xz) = 481e710ed80d8f215a8d541cfe51b960862c2403c2b9e7e6932c8236b8decb5d478871d6c73559d6d795ada143803764f3a93b2329588c80f62e2e5ec98c78a9
|
||||||
|
Loading…
Reference in New Issue
Block a user