mesa: update to 21.1.4.

Fixes: #30821
Closes: #31473 [via git-merge-pr]
This commit is contained in:
Arda Demir 2021-06-14 11:03:33 +03:00 committed by Érico Nogueira
parent bbea727483
commit 018b52af85
5 changed files with 33 additions and 134 deletions

View file

@ -2,24 +2,24 @@ Upstream: https://gitlab.freedesktop.org/mesa/mesa/issues/966
Status: Not fixed upstream
diff --git meson.build meson.build
index 932eb13..1d1a4be 100644
index e1e94e71049..96ab3fb3e45 100644
--- a/meson.build
+++ b/meson.build
@@ -448,7 +448,8 @@ endif
@@ -447,7 +447,8 @@ endif
# Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
use_elf_tls = false
-if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
-if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
+with_use_elf_tls = get_option('use-elf-tls')
+if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and with_use_elf_tls and (not with_platform_android or get_option('platform-sdk-version') >= 29)
+if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and with_use_elf_tls and
(not with_platform_android or get_option('platform-sdk-version') >= 29) and
(not with_platform_windows or not with_shared_glapi))
pre_args += '-DUSE_ELF_TLS'
use_elf_tls = true
endif
diff --git meson_options.txt meson_options.txt
index fc73f6e..2d9e4a2 100644
index a7030aba31e..966cfeca298 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -445,6 +445,12 @@ option(
@@ -446,6 +446,12 @@ option(
value : 25,
description : 'Android Platform SDK version. Default: Nougat version.'
)
@ -32,4 +32,3 @@ index fc73f6e..2d9e4a2 100644
option(
'zstd',
type : 'combo',

View file

@ -1,87 +0,0 @@
From d1eab2b1eb1dec10197db7d25e27d97f6ca1a2ea Mon Sep 17 00:00:00 2001
From: Karol Herbst <kherbst@redhat.com>
Date: Wed, 24 Feb 2021 12:44:41 +0100
Subject: [PATCH] clover: Fix build with llvm-12.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix build error after LLVM commit c495dfe0268b ("[clang][cli] NFC:
Decrease the scope of ParseLangArgs parameters").
../src/gallium/frontends/clover/llvm/invocation.cpp: In function std::unique_ptr<clang::CompilerInstance> {anonymous}::create_compiler_instance(const clover::device&, const string&, const std::vector<std::__cxx11::basic_string<char> >&, std::string&):
../src/gallium/frontends/clover/llvm/invocation.cpp:252:55: error: cannot convert clang::PreprocessorOptions to std::vector<std::__cxx11::basic_string<char> >&
252 | c->getPreprocessorOpts(),
| ~~~~~~~~~~~~~~~~~~~~~~^~
| |
| clang::PreprocessorOptions
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4114
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8543>
---
src/gallium/frontends/clover/llvm/compat.hpp | 22 +++++++++++++++----
.../frontends/clover/llvm/invocation.cpp | 5 ++---
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/gallium/frontends/clover/llvm/compat.hpp b/src/gallium/frontends/clover/llvm/compat.hpp
index 78eb8c982a8..d537819f292 100644
--- a/src/gallium/frontends/clover/llvm/compat.hpp
+++ b/src/gallium/frontends/clover/llvm/compat.hpp
@@ -38,14 +38,14 @@
#include <llvm/Config/llvm-config.h>
+#include <llvm/ADT/Triple.h>
+#include <llvm/Analysis/TargetLibraryInfo.h>
+#include <llvm/IR/LegacyPassManager.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/Linker/Linker.h>
+#include <llvm/Target/TargetMachine.h>
#include <llvm/Transforms/IPO.h>
#include <llvm/Transforms/Utils/Cloning.h>
-#include <llvm/Target/TargetMachine.h>
-
-#include <llvm/IR/LegacyPassManager.h>
-#include <llvm/Analysis/TargetLibraryInfo.h>
#include <clang/Basic/TargetInfo.h>
#include <clang/Frontend/CompilerInstance.h>
@@ -88,6 +88,20 @@ namespace clover {
cinv, copts.data(), copts.data() + copts.size(), diag);
#endif
}
+
+ static inline void
+ compiler_set_lang_defaults(std::unique_ptr<clang::CompilerInstance> &c,
+ clang::InputKind ik, const ::llvm::Triple& triple,
+ clang::LangStandard::Kind d)
+ {
+ c->getInvocation().setLangDefaults(c->getLangOpts(), ik, triple,
+#if LLVM_VERSION_MAJOR >= 12
+ c->getPreprocessorOpts().Includes,
+#else
+ c->getPreprocessorOpts(),
+#endif
+ d);
+ }
}
}
}
diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp
index 536e952b100..30592e4343b 100644
--- a/src/gallium/frontends/clover/llvm/invocation.cpp
+++ b/src/gallium/frontends/clover/llvm/invocation.cpp
@@ -247,9 +247,8 @@ namespace {
// http://www.llvm.org/bugs/show_bug.cgi?id=19735
c->getDiagnosticOpts().ShowCarets = false;
- c->getInvocation().setLangDefaults(c->getLangOpts(),
- compat::ik_opencl, ::llvm::Triple(target.triple),
- c->getPreprocessorOpts(),
+ compat::compiler_set_lang_defaults(c, compat::ik_opencl,
+ ::llvm::Triple(target.triple),
get_language_version(opts, device_clc_version));
c->createDiagnostics(new clang::TextDiagnosticPrinter(

View file

@ -1,25 +0,0 @@
From f0dccd957879ff642cfd921dda6e8b04dd35fec4 Mon Sep 17 00:00:00 2001
From: Karol Herbst <kherbst@redhat.com>
Date: Tue, 2 Mar 2021 20:09:39 +0100
Subject: [PATCH] clover: Add missing include for llvm-12 build fix
Fixes: d1eab2b1eb1 ("clover: Fix build with llvm-12.")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9372>
---
src/gallium/frontends/clover/llvm/compat.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/frontends/clover/llvm/compat.hpp b/src/gallium/frontends/clover/llvm/compat.hpp
index d537819f292..380d16a8346 100644
--- a/src/gallium/frontends/clover/llvm/compat.hpp
+++ b/src/gallium/frontends/clover/llvm/compat.hpp
@@ -49,6 +49,7 @@
#include <clang/Basic/TargetInfo.h>
#include <clang/Frontend/CompilerInstance.h>
+#include <clang/Lex/PreprocessorOptions.h>
#if LLVM_VERSION_MAJOR >= 10
#include <llvm/Support/CodeGen.h>

View file

@ -32,15 +32,14 @@
#endif
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
@@ -28,6 +28,8 @@
#ifndef RADV_AMDGPU_WINSYS_H
#define RADV_AMDGPU_WINSYS_H
@@ -30,6 +30,7 @@
#include <amdgpu.h>
#include <pthread.h>
+#include <sys/types.h>
+
#include "radv_radeon_winsys.h"
#include "util/list.h"
#include "util/rwlock.h"
#include "ac_gpu_info.h"
#include "addrlib/addrinterface.h"
--- a/src/gallium/frontends/nine/nine_debug.c 2020-03-06 07:46:48.278918421 +0100
+++ b/src/gallium/frontends/nine/nine_debug.c 2020-03-06 07:51:32.919964119 +0100
@@ -65,7 +65,7 @@ _nine_debug_printf( unsigned long flag,
@ -52,3 +51,12 @@
if (first) {
first = FALSE;
@@ -74,7 +74,7 @@ _nine_debug_printf( unsigned long flag,
#if defined(HAVE_PTHREAD)
if (dbg_flags & DBG_TID)
- tid = (unsigned long)pthread_self();
+ tid = pthread_self();
#endif
if (dbg_flags & flag) {

View file

@ -1,7 +1,7 @@
# Template file for 'mesa'
pkgname=mesa
version=21.0.3
revision=4
version=21.1.4
revision=1
wrksrc="mesa-${version}"
build_style=meson
configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
@ -23,7 +23,7 @@ license="MIT, LGPL-2.1-or-later"
homepage="https://www.mesa3d.org/"
changelog="https://docs.mesa3d.org/relnotes/${version}.html"
distfiles="https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
checksum=565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b
checksum=1f177f44098164b65731c5ded4c928fd58b14f6c9d2087aa0e37bc79bf79e90b
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
configure_args+=" -Duse-elf-tls=false"
@ -155,7 +155,10 @@ _dri_drivers=${_dri_drivers/=,/=}
configure_args+=" ${_gallium_drivers} ${_vulkan_drivers} ${_dri_drivers}"
if [ "$_have_vulkan" ]; then
configure_args+=" -Dvulkan-device-select-layer=true -Dvulkan-overlay-layer=true"
configure_args+=" -Dvulkan-layers=device-select,overlay"
if [ "$_have_intel" ]; then
configure_args+=",intel-nullhw"
fi
subpackages+=" mesa-vulkan-overlay-layer"
fi
@ -344,9 +347,10 @@ mesa-vulkan-radeon_package() {
mesa-vulkan-overlay-layer_package() {
short_desc="Vulkan layer to display information about the running application"
pkg_install() {
vmove usr/bin/mesa-overlay-control.py
vmove usr/lib/libVkLayer_MESA_overlay.so
vmove usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
vmove "usr/share/vulkan/explicit_layer.d/VkLayer_*.json"
vmove "usr/share/vulkan/implicit_layer.d/VkLayer_*.json"
vmove "usr/bin/mesa-overlay-control.py"
vmove "usr/lib/libVkLayer_*.so"
}
}