extra/mesa to 21.0.1-1

This commit is contained in:
Kevin Mihelich 2021-03-28 00:04:55 +00:00
parent 3023bfaa9a
commit 3d3bc53fe6
3 changed files with 14 additions and 127 deletions

View file

@ -1,4 +1,4 @@
From b7b9cf45bf8fb3514c1f71b3b5186474069e2575 Mon Sep 17 00:00:00 2001
From b74a5ce07eab6b8272fdde4a0ea502ad8fc11cfd Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Mon, 4 Feb 2019 17:54:45 -0700
Subject: [PATCH] Rip out VC4 forced NEON
@ -10,10 +10,10 @@ Breaks with distro-supplied CFLAGS.
2 files changed, 12 deletions(-)
diff --git a/meson.build b/meson.build
index 4afd8ca663b..317bf079dbd 100644
index 9eb7f9221ea..3f3c4f81873 100644
--- a/meson.build
+++ b/meson.build
@@ -1009,7 +1009,6 @@ elif host_machine.cpu_family() == 'x86_64'
@@ -1231,7 +1231,6 @@ elif host_machine.cpu_family() == 'x86_64'
elif host_machine.cpu_family() == 'arm'
if system_has_kms_drm
with_asm_arch = 'arm'
@ -22,7 +22,7 @@ index 4afd8ca663b..317bf079dbd 100644
elif host_machine.cpu_family() == 'aarch64'
if system_has_kms_drm
diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build
index 5ce5af5f6b4..9a4197c37b2 100644
index 90a772d5dc6..3074933584c 100644
--- a/src/gallium/drivers/vc4/meson.build
+++ b/src/gallium/drivers/vc4/meson.build
@@ -84,17 +84,6 @@ files_libvc4 = files(
@ -44,5 +44,5 @@ index 5ce5af5f6b4..9a4197c37b2 100644
if dep_simpenrose.found()
vc4_c_args += '-DUSE_VC4_SIMULATOR'
--
2.23.0
2.30.1

View file

@ -1,109 +0,0 @@
From ccacfc317e4fac62052a22e2d092d15541e2877e Mon Sep 17 00:00:00 2001
From: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Date: Mon, 11 Jan 2021 15:20:40 +0100
Subject: [PATCH] vulkan/device_select: Stop using device properties 2.
We have to choose between:
1) Stop handling two identical GPUs
2) Stop having crashes with other layers active.
3) Fix the Vulkan Loader.
Since nobody seems to want to spend enough effort to do 3 the
effective choice is between 1 and 2. This is choosing 2, as
two identical GPUs is pretty uncommon since crossfire doesn't
work on Linux anyway.
(And it would only work sporadically as the game needs to enable the
extension)
CC: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3801
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8414>
(cherry picked from commit 38ce8d4d00c2b0e567b6dd36876cf171acb1dbc7)
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
---
.../device-select-layer/device_select_layer.c | 30 +++++++++++--------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/src/vulkan/device-select-layer/device_select_layer.c b/src/vulkan/device-select-layer/device_select_layer.c
index c381ac33fd1..134a3bd22dd 100644
--- a/src/vulkan/device-select-layer/device_select_layer.c
+++ b/src/vulkan/device-select-layer/device_select_layer.c
@@ -51,8 +51,8 @@ struct instance_info {
PFN_GetPhysicalDeviceProcAddr GetPhysicalDeviceProcAddr;
PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
- PFN_vkGetPhysicalDeviceProperties2KHR GetPhysicalDeviceProperties2KHR;
- bool has_props2, has_pci_bus;
+ PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2;
+ bool has_pci_bus, has_vulkan11;
bool has_wayland, has_xcb;
};
@@ -150,8 +150,6 @@ static VkResult device_select_CreateInstance(const VkInstanceCreateInfo *pCreate
}
for (unsigned i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
- if (!strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME))
- info->has_props2 = true;
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
if (!strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME))
info->has_wayland = true;
@@ -162,6 +160,14 @@ static VkResult device_select_CreateInstance(const VkInstanceCreateInfo *pCreate
#endif
}
+ /*
+ * The loader is currently not able to handle GetPhysicalDeviceProperties2KHR calls in
+ * EnumeratePhysicalDevices when there are other layers present. To avoid mysterious crashes
+ * for users just use only the vulkan version for now.
+ */
+ info->has_vulkan11 = pCreateInfo->pApplicationInfo &&
+ pCreateInfo->pApplicationInfo->apiVersion >= VK_MAKE_VERSION(1, 1, 0);
+
info->GetPhysicalDeviceProcAddr = (PFN_GetPhysicalDeviceProcAddr)info->GetInstanceProcAddr(*pInstance, "vk_layerGetPhysicalDeviceProcAddr");
#define DEVSEL_GET_CB(func) info->func = (PFN_vk##func)info->GetInstanceProcAddr(*pInstance, "vk" #func)
DEVSEL_GET_CB(DestroyInstance);
@@ -169,8 +175,8 @@ static VkResult device_select_CreateInstance(const VkInstanceCreateInfo *pCreate
DEVSEL_GET_CB(EnumeratePhysicalDeviceGroups);
DEVSEL_GET_CB(GetPhysicalDeviceProperties);
DEVSEL_GET_CB(EnumerateDeviceExtensionProperties);
- if (info->has_props2)
- DEVSEL_GET_CB(GetPhysicalDeviceProperties2KHR);
+ if (info->has_vulkan11)
+ DEVSEL_GET_CB(GetPhysicalDeviceProperties2);
#undef DEVSEL_GET_CB
device_select_layer_add_instance(*pInstance, info);
@@ -197,10 +203,10 @@ static void print_gpu(const struct instance_info *info, unsigned index, VkPhysic
VkPhysicalDeviceProperties2KHR properties = (VkPhysicalDeviceProperties2KHR){
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR
};
- if (info->has_props2 && info->has_pci_bus)
+ if (info->has_vulkan11 && info->has_pci_bus)
properties.pNext = &ext_pci_properties;
- if (info->GetPhysicalDeviceProperties2KHR)
- info->GetPhysicalDeviceProperties2KHR(device, &properties);
+ if (info->GetPhysicalDeviceProperties2)
+ info->GetPhysicalDeviceProperties2(device, &properties);
else
info->GetPhysicalDeviceProperties(device, &properties.properties);
@@ -243,10 +249,10 @@ static bool fill_drm_device_info(const struct instance_info *info,
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR
};
- if (info->has_props2 && info->has_pci_bus)
+ if (info->has_vulkan11 && info->has_pci_bus)
properties.pNext = &ext_pci_properties;
- if (info->GetPhysicalDeviceProperties2KHR)
- info->GetPhysicalDeviceProperties2KHR(device, &properties);
+ if (info->GetPhysicalDeviceProperties2)
+ info->GetPhysicalDeviceProperties2(device, &properties);
else
info->GetPhysicalDeviceProperties(device, &properties.properties);
--
2.30.1

View file

@ -11,24 +11,22 @@
pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-broadcom' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification"
pkgver=20.3.4
pkgrel=3
pkgver=21.0.1
pkgrel=1
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm'
'libomxil-bellagio' 'libclc' 'clang' 'libglvnd' 'libunwind' 'lm_sensors' 'libxrandr'
'glslang' 'vulkan-icd-loader' 'meson')
'glslang' 'vulkan-icd-loader' 'cmake' 'meson')
url="https://www.mesa3d.org/"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
0001-Rip-out-VC4-forced-NEON.patch
LICENSE
0001-vulkan-device_select-Stop-using-device-properties-2.patch)
sha512sums=('81c4d032213b4aef842f1594e0e89bc0045f7ca7ce5f267b62a0f8236eb12ab09c1f780d8b3776b3072f37cd0bd8829f8a1330a749ccf462471b262ef8097477'
LICENSE)
sha512sums=('b31b78778b6092dfaf0712f90de3074217574389c4236f8379c127739874f6bd1b47883140a26445d25e58df87e6207278efd048453096ee710d334b1dcfe419'
'SKIP'
'ba55fd9816ebd9147be120da1fd4fa0364d19967a11570e6d5dd9d8b4f7971df46ced8b151ee07afaaa98043e131eed14918ec25f8c9b0f7e5c53f452674ee5c'
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7'
'73a923dac10616ab46b825cd45f73ca849ddad69432dbf680c1129cc9a92004218affa33bd1a6ee185fa0143ccd3d3622ba40512ec049a160a61cc13fe92da0a')
'57e23d911d3de9bb4021d3d417270483d6edd53a81ad2d59b4e9cf2a9970901cde582b4a2167ee6d9ed47bd9ca90c3abd4e7cee38c028ad5ad183493560e7faf'
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
'946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895' # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>
@ -39,9 +37,6 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
prepare() {
cd mesa-$pkgver
# FS#69744
patch -Np1 -i ../0001-vulkan-device_select-Stop-using-device-properties-2.patch
[[ $CARCH == "armv6h" || $CARCH == "armv7h" ]] && patch -p1 -i ../0001-Rip-out-VC4-forced-NEON.patch || true
}
@ -80,8 +75,9 @@ build() {
-D libunwind=disabled \
-D llvm=enabled \
-D lmsensors=enabled \
-D osmesa=gallium \
-D osmesa=true \
-D shared-glapi=enabled \
-D microsoft-clc=disabled \
-D valgrind=disabled $MESON_OPT
# Print config