Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package Mesa for openSUSE:Factory checked in 
at 2023-09-28 00:24:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/Mesa (Old)
 and      /work/SRC/openSUSE:Factory/.Mesa.new.23327 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "Mesa"

Thu Sep 28 00:24:18 2023 rev:486 rq:1112897 version:unknown

Changes:
--------
--- /work/SRC/openSUSE:Factory/Mesa/Mesa.changes        2023-09-10 
13:10:02.214139946 +0200
+++ /work/SRC/openSUSE:Factory/.Mesa.new.23327/Mesa.changes     2023-09-28 
00:29:37.229606802 +0200
@@ -1,0 +2,22 @@
+Thu Sep 21 15:13:11 UTC 2023 - Aaron Puchert <aaronpuch...@alice-dsl.net>
+
+- Backport upstream patches for compatibility with LLVM 17:
+  * U_llvmpipe-only-include-old-Transform-includes-when-ne.patch
+    removes unneeded includes of header files that no longer exist.
+  * U_clover-llvm-move-to-modern-pass-manager.patch migrates Clover
+    to the new pass manager, since the old PM has been removed.
+
+-------------------------------------------------------------------
+Thu Sep 21 10:26:36 UTC 2023 - Stefan Dirsch <sndir...@suse.com>
+
+- disable nine on arm/aarch64 in the hope to fix build on this
+  platform; there is no need for Direct3D/Wine for arm/aarch64
+  anyway ...
+
+-------------------------------------------------------------------
+Thu Sep 21 08:05:24 UTC 2023 - Stefan Dirsch <sndir...@suse.com>
+
+- Update to bugfix release 23.1.8:
+  --> https://docs.mesa3d.org/relnotes/23.1.8.html
+
+-------------------------------------------------------------------

Old:
----
  mesa-23.1.7.tar.xz
  mesa-23.1.7.tar.xz.sig

New:
----
  U_clover-llvm-move-to-modern-pass-manager.patch
  U_llvmpipe-only-include-old-Transform-includes-when-ne.patch
  mesa-23.1.8.tar.xz
  mesa-23.1.8.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ Mesa.spec ++++++
--- /var/tmp/diff_new_pack.dDF1OD/_old  2023-09-28 00:29:39.685695456 +0200
+++ /var/tmp/diff_new_pack.dDF1OD/_new  2023-09-28 00:29:39.685695456 +0200
@@ -42,7 +42,7 @@
 
 %define glamor 1
 %define _name_archive mesa
-%define _version 23.1.7
+%define _version 23.1.8
 %define with_opencl 0
 %define with_rusticl 0
 %define with_vulkan 0
@@ -64,7 +64,7 @@
   %define vdpau_virtio_gpu 1
 %endif
 
-%ifarch %{ix86} x86_64 %{arm} aarch64
+%ifarch %{ix86} x86_64
   %define with_nine 1
 %endif
 
@@ -123,7 +123,7 @@
 %endif
 
 Name:           Mesa%{psuffix}
-Version:        23.1.7
+Version:        23.1.8
 Release:        0
 Summary:        System for rendering 3-D graphics
 License:        MIT
@@ -138,6 +138,9 @@
 Source6:        Mesa-rpmlintrc
 Source7:        Mesa.keyring
 Patch2:         n_add-Mesa-headers-again.patch
+# Patches for LLVM 17, should all be in 23.2.
+Patch3:         U_llvmpipe-only-include-old-Transform-includes-when-ne.patch
+Patch4:         U_clover-llvm-move-to-modern-pass-manager.patch
 # never to be upstreamed
 Patch54:        n_drirc-disable-rgb10-for-chromium-on-amd.patch
 Patch58:        u_dep_xcb.patch
@@ -770,6 +773,8 @@
 rm -rf docs/README.{VMS,WIN32,OS2}
 
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 # no longer needed since gstreamer-plugins-vaapi 1.18.4
 %if 0%{?suse_version} < 1550
 %patch54 -p1


++++++ U_clover-llvm-move-to-modern-pass-manager.patch ++++++
>From 2d4fe5f229791fde52846b3f583c12508b5109d6 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airl...@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 <die...@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 7a50fea3323..43d26fe1abb 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() + "-" +
-- 
2.42.0


++++++ U_llvmpipe-only-include-old-Transform-includes-when-ne.patch ++++++
>From 9ba416cdc67073cdda9a73fe9d37304b82bdd526 Mon Sep 17 00:00:00 2001
From: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-pra...@amd.com>
Date: Fri, 12 May 2023 09:58:26 +0200
Subject: [PATCH] llvmpipe: only include old Transform includes when needed

This fixes building with recent LLVM where these 2 .h files
were removed.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8671
Acked-By: Mike Blumenkrantz <michael.blumenkra...@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22980>
---
 src/gallium/auxiliary/gallivm/lp_bld_init.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c 
b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index 24d082398e9..9e0d6a5f643 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -42,14 +42,14 @@
 
 #include <llvm/Config/llvm-config.h>
 #include <llvm-c/Analysis.h>
-#include <llvm-c/Transforms/Scalar.h>
-#if LLVM_VERSION_MAJOR >= 7
-#include <llvm-c/Transforms/Utils.h>
-#endif
 #include <llvm-c/BitWriter.h>
 #if GALLIVM_USE_NEW_PASS == 1
 #include <llvm-c/Transforms/PassBuilder.h>
 #elif GALLIVM_HAVE_CORO == 1
+#include <llvm-c/Transforms/Scalar.h>
+#if LLVM_VERSION_MAJOR >= 7
+#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
-- 
2.42.0


++++++ mesa-23.1.7.tar.xz -> mesa-23.1.8.tar.xz ++++++
/work/SRC/openSUSE:Factory/Mesa/mesa-23.1.7.tar.xz 
/work/SRC/openSUSE:Factory/.Mesa.new.23327/mesa-23.1.8.tar.xz differ: char 26, 
line 1

Reply via email to