From e23736c28ec71b6d6f57eee654412527ad0fed43 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Wed, 17 Feb 2021 15:55:23 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/mesa.git#5f870587e07b22f651509a6d8469227e0b0b838f --- fix-egl.patch | 89 --------------------------------------------------- mesa.spec | 10 +++--- sources | 2 +- 3 files changed, 6 insertions(+), 95 deletions(-) delete mode 100644 fix-egl.patch 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 fbe92be..e8689df 100644 --- a/mesa.spec +++ b/mesa.spec @@ -48,9 +48,9 @@ Name: mesa Summary: Mesa graphics libraries -%global ver 21.0.0-rc3 +%global ver 21.0.0-rc4 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 2%{?dist} +Release: 1%{?dist} License: MIT URL: http://www.mesa3d.org @@ -60,9 +60,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 zink/swrast/gnome-shell Patch3: 0001-zink-don-t-pick-a-cpu-device-ever.patch @@ -599,6 +596,9 @@ popd %endif %changelog +* Wed Feb 17 2021 Pete Walter - 21.0.0~rc4-1 +- Update to 21.0.0-rc4 + * Wed Feb 03 2021 Dave Airlie - 21.0.0~rc3-2 - Fix zink/swrast/lavapipe/gnome-shell interaction (#1924360) diff --git a/sources b/sources index 8397618..701802b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mesa-21.0.0-rc3.tar.xz) = b51495e8ef3a4a2f1b98ad3c4f5037c21b4b7df375138bcc02b24cb4b7ffd7b807d76ac0853d0ecc81c09ceca2a97e5c402352700f297ed7f4369f98d03a0810 +SHA512 (mesa-21.0.0-rc4.tar.xz) = 4cad13181accd0ac49efcca041bcebdaeeaf0a8b62bfce064b8668fc6b5e7fe1cf01db1d1291a25fc0cf0593ec1c227fd6e23dd45d9a16b458165594690179c4