From 37af2a126e42d48fb0ddc4e347cf21ea97f96ca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Wed, 3 Jul 2024 16:00:03 +0200 Subject: [PATCH] Rebuild mesa with LLVM 18 Resolves: https://issues.redhat.com/browse/RHEL-28682 --- ...antCompositeINTEL-to-LongCompositesI.patch | 111 ------------------ mesa.spec | 21 ++-- sources | 4 +- 3 files changed, 11 insertions(+), 125 deletions(-) delete mode 100644 0001-Update-LongConstantCompositeINTEL-to-LongCompositesI.patch diff --git a/0001-Update-LongConstantCompositeINTEL-to-LongCompositesI.patch b/0001-Update-LongConstantCompositeINTEL-to-LongCompositesI.patch deleted file mode 100644 index 1943c8b..0000000 --- a/0001-Update-LongConstantCompositeINTEL-to-LongCompositesI.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 0166a0fb86dc6c0e8903436bbc3a89bc3273ebc0 Mon Sep 17 00:00:00 2001 -From: Viktoria Maximova -Date: Wed, 13 Dec 2023 16:46:33 +0100 -Subject: [PATCH] Update LongConstantCompositeINTEL to LongCompositesINTEL - capability after Headers change (#2258) - -* Bump SPIRV-Headers to 1c6bb2743599e6eb6f37b2969acc0aef812e32e3 -* replace internal SPV_INTEL_long_composites ext with the published SPV_INTEL_long_composites -* don't rename extension for now -This closes: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/2261 - -Co-authored-by: Wlodarczyk, Bertrand ---- - include/LLVMSPIRVExtensions.inc | 3 ++- - lib/SPIRV/libSPIRV/SPIRVEntry.h | 2 +- - lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h | 2 +- - spirv-headers-tag.conf | 2 +- - test/SpecConstants/long-spec-const-composite.ll | 2 +- - test/long-constant-array.ll | 2 +- - test/long-type-struct.ll | 2 +- - 7 files changed, 8 insertions(+), 7 deletions(-) - -diff --git a/include/LLVMSPIRVExtensions.inc b/include/LLVMSPIRVExtensions.inc -index 8ff15399..780faec5 100644 ---- a/include/LLVMSPIRVExtensions.inc -+++ b/include/LLVMSPIRVExtensions.inc -@@ -43,7 +43,8 @@ EXT(SPV_INTEL_variable_length_array) - EXT(SPV_INTEL_fp_fast_math_mode) - EXT(SPV_INTEL_fpga_cluster_attributes) - EXT(SPV_INTEL_loop_fuse) --EXT(SPV_INTEL_long_constant_composite) -+EXT(SPV_INTEL_long_constant_composite) // TODO: rename to -+ // SPV_INTEL_long_composites later - EXT(SPV_INTEL_optnone) - EXT(SPV_INTEL_fpga_dsp_control) - EXT(SPV_INTEL_memory_access_aliasing) -diff --git a/lib/SPIRV/libSPIRV/SPIRVEntry.h b/lib/SPIRV/libSPIRV/SPIRVEntry.h -index e5475a2b..5131a2a1 100644 ---- a/lib/SPIRV/libSPIRV/SPIRVEntry.h -+++ b/lib/SPIRV/libSPIRV/SPIRVEntry.h -@@ -908,7 +908,7 @@ public: - } - - SPIRVCapVec getRequiredCapability() const override { -- return getVec(CapabilityLongConstantCompositeINTEL); -+ return getVec(CapabilityLongCompositesINTEL); - } - - std::optional getRequiredExtension() const override { -diff --git a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h -index 6d44142d..ae2aa395 100644 ---- a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h -+++ b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h -@@ -618,7 +618,7 @@ template <> inline void SPIRVMap::init() { - add(CapabilityGroupNonUniformRotateKHR, "GroupNonUniformRotateKHR"); - add(CapabilityAtomicFloat32AddEXT, "AtomicFloat32AddEXT"); - add(CapabilityAtomicFloat64AddEXT, "AtomicFloat64AddEXT"); -- add(CapabilityLongConstantCompositeINTEL, "LongConstantCompositeINTEL"); -+ add(CapabilityLongCompositesINTEL, "LongCompositesINTEL"); - add(CapabilityOptNoneINTEL, "OptNoneINTEL"); - add(CapabilityAtomicFloat16AddEXT, "AtomicFloat16AddEXT"); - add(CapabilityDebugInfoModuleINTEL, "DebugInfoModuleINTEL"); -diff --git a/spirv-headers-tag.conf b/spirv-headers-tag.conf -index 37d2a266..7fae55f3 100644 ---- a/spirv-headers-tag.conf -+++ b/spirv-headers-tag.conf -@@ -1 +1 @@ --9b527c0fb60124936d0906d44803bec51a0200fb -+1c6bb2743599e6eb6f37b2969acc0aef812e32e3 -diff --git a/test/SpecConstants/long-spec-const-composite.ll b/test/SpecConstants/long-spec-const-composite.ll -index 2b52b0cb..6aaf62c2 100644 ---- a/test/SpecConstants/long-spec-const-composite.ll -+++ b/test/SpecConstants/long-spec-const-composite.ll -@@ -11,7 +11,7 @@ - target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64" - target triple = "spir64-unknown-unknown" - --; CHECK-SPIRV: Capability LongConstantCompositeINTEL -+; CHECK-SPIRV: Capability LongCompositesINTEL - ; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite" - ; CHECK-SPIRV-DAG: Decorate [[First:[0-9]+]] SpecId 0 - ; CHECK-SPIRV-DAG: Decorate [[Last:[0-9]+]] SpecId 65548 -diff --git a/test/long-constant-array.ll b/test/long-constant-array.ll -index 03b33771..d0b4c3b3 100644 ---- a/test/long-constant-array.ll -+++ b/test/long-constant-array.ll -@@ -9,7 +9,7 @@ - ; TODO: run validator once it supports the extension - ; RUNx: spirv-val %t.spv - --; CHECK-SPIRV: Capability LongConstantCompositeINTEL -+; CHECK-SPIRV: Capability LongCompositesINTEL - ; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite" - ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8 - ; CHECK-SPIRV: Constant {{[0-9]+}} [[ArrSize:[0-9]+]] 78000 -diff --git a/test/long-type-struct.ll b/test/long-type-struct.ll -index 97766706..90c3a3f7 100644 ---- a/test/long-type-struct.ll -+++ b/test/long-type-struct.ll -@@ -10,7 +10,7 @@ - - ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR - --; CHECK-SPIRV: Capability LongConstantCompositeINTEL -+; CHECK-SPIRV: Capability LongCompositesINTEL - ; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite" - ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8 - ; CHECK-SPIRV: TypePointer [[TIntPtr:[0-9]+]] 8 [[TInt]] --- -2.45.2 - diff --git a/mesa.spec b/mesa.spec index f3eeb12..415981a 100644 --- a/mesa.spec +++ b/mesa.spec @@ -70,7 +70,7 @@ Name: mesa Summary: Mesa graphics libraries %global ver 24.1.2 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 1%{?dist} +Release: 2%{?dist} License: MIT AND BSD-3-Clause AND SGI-B-2.0 URL: http://www.mesa3d.org @@ -86,7 +86,7 @@ Source2: https://github.com/mesonbuild/meson/releases/download/%{meson_ver}/meso # libclc is not available in RHEL 9 but it is required for Intel drivers since # mesa >= 24.1.0 -%global libclc_version 17.0.6 +%global libclc_version 18.1.2 Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libclc_version}/libclc-%{libclc_version}.src.tar.xz BuildRequires: libedit-devel BuildRequires: clang-devel >= %{libclc_version} @@ -94,8 +94,8 @@ BuildRequires: clang-devel >= %{libclc_version} # BuildRequires: spirv-llvm-translator-tools # spirv-llvm-translator is a dependency of libclc -%global spirv_llvm_trans_ver 17.0.0 -%global spirv_llvm_trans_commit 854179a7451d04bd7fcde0ac200271482bfa8cd2 +%global spirv_llvm_trans_ver 18.1.0 +%global spirv_llvm_trans_commit 259f72c06ce9dff3867f842aaeb1e414c97066a5 %global spirv_llvm_trans_shortcommit %(c=%{spirv_llvm_trans_commit}; echo ${c:0:7}) Source4: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_trans_commit}/spirv-llvm-translator-%{spirv_llvm_trans_shortcommit}.tar.gz BuildRequires: cmake @@ -118,9 +118,6 @@ Patch12: 0001-Revert-ac-radeonsi-remove-has_syncobj-has_fence_to_h.patch # s390x only Patch100: fix-egl-on-s390x.patch -# spirv-llvm-translator (>= 10000) -Patch10000: 0001-Update-LongConstantCompositeINTEL-to-LongCompositesI.patch - # Build our own version but keep the dependency for the RPM macros BuildRequires: meson BuildRequires: gcc @@ -433,9 +430,8 @@ The drivers with support for the Vulkan API. %autosetup -n %{name}-%{ver} -N %autopatch -p1 -M 99 %ifarch s390x -%autopatch -p1 -m 100 -M 9999 +%autopatch -p1 -m 100 %endif - cp %{SOURCE1} docs/ # Extract meson @@ -446,9 +442,6 @@ tar -xvf %{SOURCE3} # Extract spirv-llvm-translator tar -xvf %{SOURCE4} -cd SPIRV-LLVM-Translator-%{spirv_llvm_trans_commit} -%patch -P 10000 -p1 -cd - # Extract wayland-protocols tar -xvf %{SOURCE5} @@ -874,6 +867,10 @@ popd %endif %changelog +* Wed Jul 03 2024 José Expósito - 24.1.2-2 +- Rebuild mesa with LLVM 18 + Resolves: https://issues.redhat.com/browse/RHEL-28682 + * Fri Jun 28 2024 José Expósito - 24.1.2-1 - Update to mesa 24.1.2 diff --git a/sources b/sources index 08ecf12..63d7a83 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (libclc-17.0.6.src.tar.xz) = 6165bfa0112fb42756cd0e83a0d3d4406985b1d6db6eed8abb3bee9a74fcc451cc88928b24231493694035c35d9bcd367aa6a4a67da631cb4ee5e7a98037fee3 +SHA512 (libclc-18.1.2.src.tar.xz) = 1a6ac7ff487e54183600ee6b0307ad46d3d4d295e21bb5206958bd303be6734249f42303fb5b528885d0e409174fe22c271267c692488b306a46cc617ff73346 SHA512 (mesa-24.1.2.tar.xz) = ea28540552f9f28200c22423afcf9d9bb961557eae0dc11416c5ef60788c3e7f6d2b841c6bdbe2827d1339ea9d854623c1a0e08d4f1fd79d304fcdd52f790637 SHA512 (meson-1.3.0.tar.gz) = fbcbdd9551ad12b7be84411b96357e01c7c0c38a8e9933093d2e71ed7e12bd4278245798684d389c332eb75dd50c99310affc9acb01cf8bedd45265335083a32 -SHA512 (spirv-llvm-translator-854179a.tar.gz) = 7b8b1f974e10bfe8b9680b5b769fa60fa438b0070d0aee7795597c79999942e44a0629035b7f5bdd0b86e742fa200f8cb9596b60f0f61c9eea919ea8b21d3d6a +SHA512 (spirv-llvm-translator-259f72c.tar.gz) = b5cb5be767f679c22eaf35c4fcf875855277b684bb3a5edbd687c4df6621386e5f769a599b582a0020cdcfc87d9a3e0122c1c14cd67987f77546b5acd1891d68 SHA512 (wayland-protocols-1.34.tar.xz) = d180eaaf87281dc7adade19070ee8308a5cb3dc2f60cff077960436ad647d3d207eb63fa0b079b7b315109654ad6e6b5e2588bfe859900e67edf8c67b1c3ad20