From 933ae55743ba3c0bc0ec82fb63edfceaaf270f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Thu, 2 Nov 2023 09:55:15 +0100 Subject: [PATCH] Update to 23.3.0-rc2 Add a patch from upstream [1] fixing a compile error with LLVM 17 [2]. [1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25536 [2] https://gitlab.freedesktop.org/mesa/mesa/-/issues/9791 --- ...add-deref-follower-builder-for-casts.patch | 77 +++++++++++++++++++ mesa.spec | 4 +- sources | 2 +- 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 0001-nir-add-deref-follower-builder-for-casts.patch diff --git a/0001-nir-add-deref-follower-builder-for-casts.patch b/0001-nir-add-deref-follower-builder-for-casts.patch new file mode 100644 index 0000000..ae328d2 --- /dev/null +++ b/0001-nir-add-deref-follower-builder-for-casts.patch @@ -0,0 +1,77 @@ +From 6388896985da7495ad0968322491953894d29637 Mon Sep 17 00:00:00 2001 +From: Faith Ekstrand +Date: Wed, 1 Nov 2023 15:38:35 -0500 +Subject: [PATCH] nir: add deref follower builder for casts. + +This fixes intel_clc builds with llvm 17 on gfx125_bvh_build_DFS_DFS +where it dies in the lower indirect derefs pass. + +Co-authored-by: Dave Airlie +Fixes: 4a4e1757381c ("nir: Support deref instructions in lower_var_copies") +Part-of: +--- + src/compiler/nir/nir_builder.h | 27 ++++++++++++++++++++++++--- + 1 file changed, 24 insertions(+), 3 deletions(-) + +diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h +index c9f3465406c..d2b5702d3c9 100644 +--- a/src/compiler/nir/nir_builder.h ++++ b/src/compiler/nir/nir_builder.h +@@ -1483,9 +1483,12 @@ nir_build_deref_struct(nir_builder *build, nir_deref_instr *parent, + } + + static inline nir_deref_instr * +-nir_build_deref_cast(nir_builder *build, nir_def *parent, +- nir_variable_mode modes, const struct glsl_type *type, +- unsigned ptr_stride) ++nir_build_deref_cast_with_alignment(nir_builder *build, nir_def *parent, ++ nir_variable_mode modes, ++ const struct glsl_type *type, ++ unsigned ptr_stride, ++ unsigned align_mul, ++ unsigned align_offset) + { + nir_deref_instr *deref = + nir_deref_instr_create(build->shader, nir_deref_type_cast); +@@ -1493,6 +1496,8 @@ nir_build_deref_cast(nir_builder *build, nir_def *parent, + deref->modes = modes; + deref->type = type; + deref->parent = nir_src_for_ssa(parent); ++ deref->cast.align_mul = align_mul; ++ deref->cast.align_offset = align_offset; + deref->cast.ptr_stride = ptr_stride; + + nir_def_init(&deref->instr, &deref->def, parent->num_components, +@@ -1503,6 +1508,15 @@ nir_build_deref_cast(nir_builder *build, nir_def *parent, + return deref; + } + ++static inline nir_deref_instr * ++nir_build_deref_cast(nir_builder *build, nir_def *parent, ++ nir_variable_mode modes, const struct glsl_type *type, ++ unsigned ptr_stride) ++{ ++ return nir_build_deref_cast_with_alignment(build, parent, modes, type, ++ ptr_stride, 0, 0); ++} ++ + static inline nir_deref_instr * + nir_alignment_deref_cast(nir_builder *build, nir_deref_instr *parent, + uint32_t align_mul, uint32_t align_offset) +@@ -1570,6 +1584,13 @@ nir_build_deref_follower(nir_builder *b, nir_deref_instr *parent, + + return nir_build_deref_struct(b, parent, leader->strct.index); + ++ case nir_deref_type_cast: ++ return nir_build_deref_cast_with_alignment(b, &parent->def, ++ leader->modes, ++ leader->type, ++ leader->cast.ptr_stride, ++ leader->cast.align_mul, ++ leader->cast.align_offset); + default: + unreachable("Invalid deref instruction type"); + } +-- +2.41.0 + diff --git a/mesa.spec b/mesa.spec index eb07bad..4c1d8d0 100644 --- a/mesa.spec +++ b/mesa.spec @@ -61,7 +61,7 @@ Name: mesa Summary: Mesa graphics libraries -%global ver 23.3.0-rc1 +%global ver 23.3.0-rc2 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} Release: %autorelease License: MIT AND BSD-3-Clause AND SGI-B-2.0 @@ -74,6 +74,7 @@ Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz Source1: Mesa-MLAA-License-Clarification-Email.txt Patch10: gnome-shell-glthread-disable.patch +Patch11: 0001-nir-add-deref-follower-builder-for-casts.patch BuildRequires: meson >= 1.2.0 BuildRequires: gcc @@ -591,6 +592,7 @@ popd %if 0%{?with_kmsro} %{_libdir}/dri/armada-drm_dri.so %{_libdir}/dri/exynos_dri.so +%{_libdir}/dri/hdlcd_dri.so %{_libdir}/dri/hx8357d_dri.so %{_libdir}/dri/ili9225_dri.so %{_libdir}/dri/ili9341_dri.so diff --git a/sources b/sources index 5e336b0..ca07f20 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mesa-23.3.0-rc1.tar.xz) = 4eedec92dd59027801ed104cadaa3bc4d5ad5ca1073d6f173c31feeed5e528029c8ac417ee54ea69bc874847b7caf3fadd9d713f5b744d97d14a5ec6d0b8fce4 +SHA512 (mesa-23.3.0-rc2.tar.xz) = bebb27bcc860ef85b9f17001e00d83bdd4e6172c5ac7bdd3dd143814abe8e3b9443cea436db1df580834609f80ebdb46a01f3c66c141042a80f59434b5fd85aa