extra/mesa to 20.0.2-1

This commit is contained in:
Kevin Mihelich 2020-03-30 13:21:49 +00:00
parent 10573b075d
commit 1fd47d82e1
3 changed files with 63 additions and 77 deletions

View file

@ -1,66 +0,0 @@
From 689817c9dfde9a0852f2b2489cb0fa93ffbcb215 Mon Sep 17 00:00:00 2001
From: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com>
Date: Mon, 10 Feb 2020 16:24:10 +0100
Subject: [PATCH] gallium/swr: simplify environmental variabled expansion code
There were 2 versions of code doing the same thing.
Since std::regexp are locale-sensitive better is to leave old
good way to do this.
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761>
---
.../codegen/templates/gen_knobs.cpp | 29 -------------------
1 file changed, 29 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
index b073f73e3a0..194499aa1e0 100644
--- a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
+++ b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
@@ -43,9 +43,6 @@
//========================================================
void KnobBase::autoExpandEnvironmentVariables(std::string& text)
{
-#if (__GNUC__) && (GCC_VERSION < 40900)
- // <regex> isn't implemented prior to gcc-4.9.0
- // unix style variable replacement
size_t start;
while ((start = text.find("${'${'}")) != std::string::npos)
{
@@ -64,32 +61,6 @@ void KnobBase::autoExpandEnvironmentVariables(std::string& text)
const std::string var = GetEnv(text.substr(start + 1, end - start - 1));
text.replace(start, end - start + 1, var);
}
-#else
- {
- // unix style variable replacement
- static std::regex env("\\$\\{([^}]+?)\\}");
- std::smatch match;
- while (std::regex_search(text, match, env))
- {
- const std::string var = GetEnv(match[1].str());
- // certain combinations of gcc/libstd++ have problems with this
- // text.replace(match[0].first, match[0].second, var);
- text.replace(match.prefix().length(), match[0].length(), var);
- }
- }
- {
- // win32 style variable replacement
- static std::regex env("%([^%]+?)%");
- std::smatch match;
- while (std::regex_search(text, match, env))
- {
- const std::string var = GetEnv(match[1].str());
- // certain combinations of gcc/libstd++ have problems with this
- // text.replace(match[0].first, match[0].second, var);
- text.replace(match.prefix().length(), match[0].length(), var);
- }
- }
-#endif
}
//========================================================
--
2.24.1

View file

@ -0,0 +1,54 @@
From 4d3f535ebb341ddce05e5b1750fcf17c6c4166c9 Mon Sep 17 00:00:00 2001
From: James Xiong <james.xiong@intel.com>
Date: Wed, 20 Nov 2019 15:59:00 -0800
Subject: [PATCH] iris: handle the failure of converting unsupported yuv
formats to isl
Signed-off-by: James Xiong <james.xiong@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit d8569baaed1a38cf3da9e45375fa2267d9a1eeb0)
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3898>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3898>
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
---
src/gallium/drivers/iris/iris_formats.c | 6 +++++-
src/gallium/drivers/iris/iris_resource.c | 3 ++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/iris/iris_formats.c b/src/gallium/drivers/iris/iris_formats.c
index f6344cc7543..a35b663a53c 100644
--- a/src/gallium/drivers/iris/iris_formats.c
+++ b/src/gallium/drivers/iris/iris_formats.c
@@ -338,9 +338,13 @@ iris_format_for_usage(const struct gen_device_info *devinfo,
isl_surf_usage_flags_t usage)
{
enum isl_format format = iris_isl_format_for_pipe_format(pformat);
- const struct isl_format_layout *fmtl = isl_format_get_layout(format);
struct isl_swizzle swizzle = ISL_SWIZZLE_IDENTITY;
+ if (format == ISL_FORMAT_UNSUPPORTED)
+ return (struct iris_format_info) { .fmt = format, .swizzle = swizzle };
+
+ const struct isl_format_layout *fmtl = isl_format_get_layout(format);
+
if (!util_format_is_srgb(pformat)) {
if (util_format_is_intensity(pformat)) {
swizzle = ISL_SWIZZLE(RED, RED, RED, RED);
diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c
index bdd715df2c9..7ca6097840a 100644
--- a/src/gallium/drivers/iris/iris_resource.c
+++ b/src/gallium/drivers/iris/iris_resource.c
@@ -85,7 +85,8 @@ modifier_is_supported(const struct gen_device_info *devinfo,
enum isl_format linear_format = isl_format_srgb_to_linear(rt_format);
- if (!isl_format_supports_ccs_e(devinfo, linear_format))
+ if (linear_format == ISL_FORMAT_UNSUPPORTED ||
+ !isl_format_supports_ccs_e(devinfo, linear_format))
return false;
return devinfo->gen >= 9 && devinfo->gen <= 11;
--
2.25.1

View file

@ -9,22 +9,20 @@
pkgbase=mesa
pkgname=('vulkan-mesa-layer' 'opencl-mesa' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification"
pkgver=19.3.4
pkgrel=2
pkgver=20.0.2
pkgrel=1
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols'
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd'
'elfutils' 'llvm' 'libomxil-bellagio' 'libclc' 'clang' 'libglvnd' 'lm_sensors'
'libxrandr' 'glslang' 'meson')
url="https://www.mesa3d.org/"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
0001-gallium-swr-simplify-environmental-variabled-expansion-code.patch
0001-Rip-out-VC4-forced-NEON.patch
LICENSE)
sha512sums=('2bbb3dc8f1d839f11fe12cc959393cd69607fa6714b2166b80299e0559d2d3b0ac38ed4e15ac3e5f472264eb24536d1901d350f7409f3a7e00d6f4ccbb2312fb'
sha512sums=('d6ffc29bbc5b908cb0f08fa1b5a83e029b76c7b697c488a73e6bb60990a55beeb3ecdba1745868f6885ee2f660975f5debf7d2c9418e0a96e2f7049e83fd89ab'
'SKIP'
'10c62cef7b9cd2617453397a7585fcc36bbe3dbb817f44fd59aee2ba11df67e5943cd919838f51e37ee523757210c3a3685c4676f561801cc9e47378b1c5fa09'
'ba55fd9816ebd9147be120da1fd4fa0364d19967a11570e6d5dd9d8b4f7971df46ced8b151ee07afaaa98043e131eed14918ec25f8c9b0f7e5c53f452674ee5c'
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
@ -36,7 +34,6 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
prepare() {
cd mesa-$pkgver
patch -Np1 < ../0001-gallium-swr-simplify-environmental-variabled-expansion-code.patch
[[ $CARCH == "armv6h" || $CARCH == "armv7h" ]] && patch -p1 -i ../0001-Rip-out-VC4-forced-NEON.patch || true
}
@ -103,13 +100,14 @@ package_vulkan-mesa-layer() {
_install fakeinstall/usr/share/vulkan/explicit_layer.d
_install fakeinstall/usr/lib/libVkLayer_MESA_overlay.so
_install fakeinstall/usr/bin/mesa-overlay-control.py
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
package_opencl-mesa() {
pkgdesc="OpenCL support for AMD/ATI Radeon mesa drivers"
depends=('expat' 'libdrm' 'libelf' 'libclc' 'clang')
depends=('expat' 'libdrm' 'libelf' 'libclc' 'clang' 'zstd')
optdepends=('opencl-headers: headers necessary for OpenCL development')
provides=('opencl-driver')
@ -122,7 +120,7 @@ package_opencl-mesa() {
package_vulkan-radeon() {
pkgdesc="Radeon's Vulkan mesa driver"
depends=('wayland' 'libx11' 'libxshmfence' 'libelf' 'libdrm' 'llvm-libs')
depends=('wayland' 'libx11' 'libxshmfence' 'libelf' 'libdrm' 'zstd' 'llvm-libs')
optdepends=('vulkan-mesa-layer: a vulkan layer to display information using an overlay')
provides=('vulkan-driver')
@ -134,7 +132,7 @@ package_vulkan-radeon() {
package_libva-mesa-driver() {
pkgdesc="VA-API implementation for gallium"
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence')
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'zstd')
_install fakeinstall/usr/lib/dri/*_drv_video.so
@ -143,7 +141,7 @@ package_libva-mesa-driver() {
package_mesa-vdpau() {
pkgdesc="Mesa VDPAU drivers"
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence')
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'zstd')
_install fakeinstall/usr/lib/vdpau