Rebuild mesa with LLVM 18

Resolves: https://issues.redhat.com/browse/RHEL-28682
This commit is contained in:
José Expósito 2024-07-03 16:00:03 +02:00
parent 443c9077c4
commit 37af2a126e
3 changed files with 11 additions and 125 deletions

View File

@ -1,111 +0,0 @@
From 0166a0fb86dc6c0e8903436bbc3a89bc3273ebc0 Mon Sep 17 00:00:00 2001
From: Viktoria Maximova <viktoria.maksimova@intel.com>
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 <bertrand.wlodarczyk@intel.com>
---
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<ExtensionID> 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<Capability, std::string>::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

View File

@ -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 <jexposit@redhat.com> - 24.1.2-2
- Rebuild mesa with LLVM 18
Resolves: https://issues.redhat.com/browse/RHEL-28682
* Fri Jun 28 2024 José Expósito <jexposit@redhat.com> - 24.1.2-1
- Update to mesa 24.1.2

View File

@ -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