Date: Tue, 20 Dec 2022 17:17:30 GMT From: Emmanuel Vadot <manu@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: ad2ced80deae - main - graphics/mesa-dri: Fix a crash for radeon r600 graphic cards. Message-ID: <202212201717.2BKHHUQI092725@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/ports/commit/?id=ad2ced80deaee8815b72d927a8e6d2b687b4864b commit ad2ced80deaee8815b72d927a8e6d2b687b4864b Author: Florian Walpen <dev@submerge.ch> AuthorDate: 2022-12-20 16:55:02 +0000 Commit: Emmanuel Vadot <manu@FreeBSD.org> CommitDate: 2022-12-20 17:16:51 +0000 graphics/mesa-dri: Fix a crash for radeon r600 graphic cards. Add an upstream patch to fix an immediate crash of Xorg and wayland on systems with radeon r600 based graphic cards. See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7931 PR: 268327 --- graphics/mesa-dri/Makefile | 1 + ...patch-src_gallium_drivers_r600_sfn_sfn__optimizer.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile index 94c8503053a7..9528ab8b625d 100644 --- a/graphics/mesa-dri/Makefile +++ b/graphics/mesa-dri/Makefile @@ -1,5 +1,6 @@ PORTNAME= mesa-dri PORTVERSION= ${MESAVERSION} +PORTREVISION= 1 CATEGORIES= graphics COMMENT= OpenGL hardware acceleration drivers for DRI2+ diff --git a/graphics/mesa-dri/files/patch-src_gallium_drivers_r600_sfn_sfn__optimizer.cpp b/graphics/mesa-dri/files/patch-src_gallium_drivers_r600_sfn_sfn__optimizer.cpp new file mode 100644 index 000000000000..56fb029e3fcd --- /dev/null +++ b/graphics/mesa-dri/files/patch-src_gallium_drivers_r600_sfn_sfn__optimizer.cpp @@ -0,0 +1,16 @@ +--- src/gallium/drivers/r600/sfn/sfn_optimizer.cpp.orig 2022-12-14 21:06:11 UTC ++++ src/gallium/drivers/r600/sfn/sfn_optimizer.cpp +@@ -354,7 +354,12 @@ CopyPropFwdVisitor::visit(AluInstr *instr) + auto src = instr->psrc(0); + auto dest = instr->dest(); + +- for (auto& i : dest->uses()) { ++ auto ii = dest->uses().begin(); ++ auto ie = dest->uses().end(); ++ ++ while(ii != ie) { ++ auto i = *ii; ++ ++ii; + /* SSA can always be propagated, registers only in the same block + * and only if they are assigned in the same block */ + bool can_propagate = dest->is_ssa();
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202212201717.2BKHHUQI092725>