[packages/Mesa] up to 23.3.0

atler atler at pld-linux.org
Thu Nov 30 04:06:11 CET 2023


commit 9b3ffb40bdb90b6979789bd03b6a170c7a1d8dae
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Nov 30 02:19:27 2023 +0100

    up to 23.3.0

 Mesa.spec    |  15 +++---
 llvm17.patch | 169 -----------------------------------------------------------
 2 files changed, 7 insertions(+), 177 deletions(-)
---
diff --git a/Mesa.spec b/Mesa.spec
index 578bf36..cade5f3 100644
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -77,14 +77,13 @@
 Summary:	Free OpenGL implementation
 Summary(pl.UTF-8):	Wolnodostępna implementacja standardu OpenGL
 Name:		Mesa
-Version:	23.2.1
+Version:	23.3.0
 Release:	1
 License:	MIT (core) and others - see license.html file
 Group:		X11/Libraries
 Source0:	https://archive.mesa3d.org/mesa-%{version}.tar.xz
-# Source0-md5:	0d89ec154ac9f06a1e876214114ed9af
-Patch0:		llvm17.patch
-Patch1:		no-rust-proc-macro-link.patch
+# Source0-md5:	30e60f8c466fee52034f303f1afeece2
+Patch0:		no-rust-proc-macro-link.patch
 URL:		https://www.mesa3d.org/
 %if %{with opencl_spirv} || %{with gallium_rusticl}
 BuildRequires:	SPIRV-LLVM-Translator-devel >= 8.0.1.3
@@ -117,7 +116,7 @@ BuildRequires:	libxcb-devel >= 1.13
 BuildRequires:	llvm-libclc
 %endif
 %{?with_omx:BuildRequires:	libomxil-bellagio-devel}
-BuildRequires:	meson >= 1.0.0
+BuildRequires:	meson >= 1.2.0
 BuildRequires:	ninja >= 1.5
 BuildRequires:	pkgconfig
 BuildRequires:	pkgconfig(talloc) >= 2.0.1
@@ -139,7 +138,7 @@ BuildRequires:	tar >= 1:1.22
 BuildRequires:	udev-devel
 # wayland-{client,server}
 %{?with_wayland:BuildRequires:	wayland-devel >= %{wayland_ver}}
-%{?with_wayland:BuildRequires:	wayland-protocols >= 1.24}
+%{?with_wayland:BuildRequires:	wayland-protocols >= 1.30}
 %{?with_wayland:BuildRequires:	wayland-egl-devel >= %{wayland_ver}}
 BuildRequires:	xcb-util-keysyms-devel
 BuildRequires:	xorg-lib-libX11-devel
@@ -1564,7 +1563,6 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
 %prep
 %setup -q -n mesa-%{version}
 %patch0 -p1
-%patch1 -p1
 
 %build
 %if %{with opencl}
@@ -1752,7 +1750,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files libGL-devel
 %defattr(644,root,root,755)
-%doc docs/_extra/specs/*
+%doc docs/_static/specs/*
 %if %{without glvnd}
 %dir %{_includedir}/GL
 %{_includedir}/GL/gl.h
@@ -1951,6 +1949,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/armada-drm_dri.so
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/exynos_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/hdlcd_dri.so
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/hx8357d_dri.so
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/ili9225_dri.so
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/ili9341_dri.so
diff --git a/llvm17.patch b/llvm17.patch
deleted file mode 100644
index e3d2878..0000000
--- a/llvm17.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From cda32e18a08fa2f2289a7409f37f44d5643e6aea Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem at gmail.com>
-Date: Fri, 23 Jun 2023 01:20:38 -0700
-Subject: [PATCH] gallium: Fix build with llvm 17
-
-These headers are not available for C files in llvm 17+
-and they seem to be not needed to compile after all with llvm 17
-so add conditions to exclude them for llvm >= 17
-
-Signed-off-by: Khem Raj <raj.khem at gmail.com>
----
- src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
-index cd2108f3a088d..b1a4d0388a6a0 100644
---- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
-+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
-@@ -46,15 +46,19 @@
- #if GALLIVM_USE_NEW_PASS == 1
- #include <llvm-c/Transforms/PassBuilder.h>
- #elif GALLIVM_HAVE_CORO == 1
-+#if LLVM_VERSION_MAJOR < 17
- #include <llvm-c/Transforms/Scalar.h>
--#if LLVM_VERSION_MAJOR >= 7
-+#endif
-+#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17
- #include <llvm-c/Transforms/Utils.h>
- #endif
- #if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64)
- #include <llvm-c/Transforms/IPO.h>
- #endif
-+#if LLVM_VERSION_MAJOR < 17
- #include <llvm-c/Transforms/Coroutines.h>
- #endif
-+#endif
- 
- unsigned gallivm_perf = 0;
- 
--- 
-GitLab
-
-From 2d4fe5f229791fde52846b3f583c12508b5109d6 Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied at redhat.com>
-Date: Fri, 25 Aug 2023 12:43:44 +1000
-Subject: [PATCH] clover/llvm: move to modern pass manager.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This seems like it should work, but I haven't tested it yet.
-
-Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24879>
----
- .../frontends/clover/llvm/invocation.cpp      | 64 +++++++++++++++----
- 1 file changed, 51 insertions(+), 13 deletions(-)
-
-diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp
-index 7a50fea332395..43d26fe1abbce 100644
---- a/src/gallium/frontends/clover/llvm/invocation.cpp
-+++ b/src/gallium/frontends/clover/llvm/invocation.cpp
-@@ -27,13 +27,17 @@
- #include <llvm/IR/DiagnosticPrinter.h>
- #include <llvm/IR/DiagnosticInfo.h>
- #include <llvm/IR/LLVMContext.h>
-+#include <llvm/IR/Module.h>
- #include <llvm/Support/raw_ostream.h>
--#include <llvm/Transforms/IPO/PassManagerBuilder.h>
-+#include <llvm/Transforms/IPO/Internalize.h>
- #include <llvm-c/Target.h>
- #ifdef HAVE_CLOVER_SPIRV
- #include <LLVMSPIRVLib/LLVMSPIRVLib.h>
- #endif
- 
-+#include <llvm-c/TargetMachine.h>
-+#include <llvm-c/Transforms/PassBuilder.h>
-+#include <llvm/Support/CBindingWrapping.h>
- #include <clang/CodeGen/CodeGenAction.h>
- #include <clang/Lex/PreprocessorOptions.h>
- #include <clang/Frontend/TextDiagnosticBuffer.h>
-@@ -439,10 +443,10 @@ clover::llvm::compile_program(const std::string &source,
- 
- namespace {
-    void
--   optimize(Module &mod, unsigned optimization_level,
-+   optimize(Module &mod,
-+            const std::string& ir_target,
-+            unsigned optimization_level,
-             bool internalize_symbols) {
--      ::llvm::legacy::PassManager pm;
--
-       // By default, the function internalizer pass will look for a function
-       // called "main" and then mark all other functions as internal.  Marking
-       // functions as internal enables the optimizer to perform optimizations
-@@ -458,19 +462,53 @@ namespace {
-       if (internalize_symbols) {
-          std::vector<std::string> names =
-             map(std::mem_fn(&Function::getName), get_kernels(mod));
--         pm.add(::llvm::createInternalizePass(
-+         internalizeModule(mod,
-                       [=](const ::llvm::GlobalValue &gv) {
-                          return std::find(names.begin(), names.end(),
-                                           gv.getName()) != names.end();
--                      }));
-+                      });
-       }
- 
--      ::llvm::PassManagerBuilder pmb;
--      pmb.OptLevel = optimization_level;
--      pmb.LibraryInfo = new ::llvm::TargetLibraryInfoImpl(
--         ::llvm::Triple(mod.getTargetTriple()));
--      pmb.populateModulePassManager(pm);
--      pm.run(mod);
-+
-+      const char *opt_str = NULL;
-+      LLVMCodeGenOptLevel level;
-+      switch (optimization_level) {
-+      case 0:
-+      default:
-+         opt_str = "default<O0>";
-+         level = LLVMCodeGenLevelNone;
-+         break;
-+      case 1:
-+         opt_str = "default<O1>";
-+         level = LLVMCodeGenLevelLess;
-+         break;
-+      case 2:
-+         opt_str = "default<O2>";
-+         level = LLVMCodeGenLevelDefault;
-+         break;
-+      case 3:
-+         opt_str = "default<O3>";
-+         level = LLVMCodeGenLevelAggressive;
-+         break;
-+      }
-+
-+      const target &target = ir_target;
-+      LLVMTargetRef targ;
-+      char *err_message;
-+
-+      if (LLVMGetTargetFromTriple(target.triple.c_str(), &targ, &err_message))
-+         return;
-+      LLVMTargetMachineRef tm =
-+         LLVMCreateTargetMachine(targ, target.triple.c_str(),
-+                                 target.cpu.c_str(), "", level,
-+                                 LLVMRelocDefault, LLVMCodeModelDefault);
-+
-+      if (!tm)
-+         return;
-+      LLVMPassBuilderOptionsRef opts = LLVMCreatePassBuilderOptions();
-+      LLVMRunPasses(wrap(&mod), opt_str, tm, opts);
-+
-+      LLVMDisposeTargetMachine(tm);
-    }
- 
-    std::unique_ptr<Module>
-@@ -500,7 +538,7 @@ clover::llvm::link_program(const std::vector<binary> &binaries,
-    auto c = create_compiler_instance(dev, dev.ir_target(), options, r_log);
-    auto mod = link(*ctx, *c, binaries, r_log);
- 
--   optimize(*mod, c->getCodeGenOpts().OptimizationLevel, !create_library);
-+   optimize(*mod, dev.ir_target(), c->getCodeGenOpts().OptimizationLevel, !create_library);
- 
-    static std::atomic_uint seq(0);
-    const std::string id = "." + mod->getModuleIdentifier() + "-" +
--- 
-GitLab
-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/Mesa.git/commitdiff/9b3ffb40bdb90b6979789bd03b6a170c7a1d8dae



More information about the pld-cvs-commit mailing list