From 59b3409b97eea81d2fa783c909873c4b6f8a8aac Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 1 Sep 2022 13:41:19 +1000 Subject: [PATCH] fix frontbuffer misrendering Resolves: rhbz#2122885 --- ...rendering-before-flushing-frontbuffe.patch | 39 +++++++++++++++++++ mesa.spec | 7 +++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 0001-llvmpipe-finish-rendering-before-flushing-frontbuffe.patch diff --git a/0001-llvmpipe-finish-rendering-before-flushing-frontbuffe.patch b/0001-llvmpipe-finish-rendering-before-flushing-frontbuffe.patch new file mode 100644 index 0000000..ed8508e --- /dev/null +++ b/0001-llvmpipe-finish-rendering-before-flushing-frontbuffe.patch @@ -0,0 +1,39 @@ +From 0db29ee48d4f4fd0858bcf7def39926e2ee19d63 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Thu, 1 Sep 2022 11:37:27 +1000 +Subject: [PATCH] llvmpipe: finish rendering before flushing frontbuffer + resources. + +Fixes misrendering on front with mesa demos +--- + src/gallium/drivers/llvmpipe/lp_screen.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c +index 333d7695ee7..0fcbcccedd2 100644 +--- a/src/gallium/drivers/llvmpipe/lp_screen.c ++++ b/src/gallium/drivers/llvmpipe/lp_screen.c +@@ -51,6 +51,7 @@ + #include "lp_limits.h" + #include "lp_rast.h" + #include "lp_cs_tpool.h" ++#include "lp_flush.h" + + #include "frontend/sw_winsys.h" + +@@ -835,8 +836,11 @@ llvmpipe_flush_frontbuffer(struct pipe_screen *_screen, + struct llvmpipe_resource *texture = llvmpipe_resource(resource); + + assert(texture->dt); +- if (texture->dt) ++ ++ if (texture->dt) { ++ llvmpipe_flush_resource(_pipe, resource, 0, true, true, false, "frontbuffer"); + winsys->displaytarget_display(winsys, texture->dt, context_private, sub_box); ++ } + } + + static void +-- +2.31.1 + diff --git a/mesa.spec b/mesa.spec index 9c42e77..f080171 100644 --- a/mesa.spec +++ b/mesa.spec @@ -54,7 +54,7 @@ Name: mesa Summary: Mesa graphics libraries %global ver 22.1.5 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: http://www.mesa3d.org @@ -67,6 +67,8 @@ Source1: Mesa-MLAA-License-Clarification-Email.txt # two llvmpipe multi-context fixes Patch10: 0001-llvmpipe-make-last_fence-a-screen-rast-object-not-a-.patch Patch11: 0002-llvmpipe-keep-context-list-and-use-to-track-resource.patch +# a frontbuffer misrendering fix +Patch12: 0001-llvmpipe-finish-rendering-before-flushing-frontbuffe.patch BuildRequires: meson >= 0.45 BuildRequires: gcc @@ -597,6 +599,9 @@ popd %endif %changelog +* Thu Sep 01 2022 Dave Airlie - 22.1.5-2 +- fix frontbuffer misrendering + * Wed Aug 10 2022 Dave Airlie - 22.1.5-1 - rebase to 22.1.5 + llvmpipe fixes