mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/mesa to 24.0.3-1
This commit is contained in:
parent
d85a2b9d9c
commit
1d3ea9ffbb
3 changed files with 10 additions and 249 deletions
|
@ -1,7 +1,7 @@
|
|||
pkgbase = mesa
|
||||
pkgdesc = An open-source implementation of the OpenGL specification
|
||||
pkgver = 24.0.2
|
||||
pkgrel = 2
|
||||
pkgver = 24.0.3
|
||||
pkgrel = 1
|
||||
epoch = 1
|
||||
url = https://www.mesa3d.org/
|
||||
arch = x86_64
|
||||
|
@ -44,10 +44,9 @@ pkgbase = mesa
|
|||
makedepends = valgrind
|
||||
makedepends = directx-headers
|
||||
makedepends = libomxil-bellagio
|
||||
source = https://mesa.freedesktop.org/archive/mesa-24.0.2.tar.xz
|
||||
source = https://mesa.freedesktop.org/archive/mesa-24.0.2.tar.xz.sig
|
||||
source = https://mesa.freedesktop.org/archive/mesa-24.0.3.tar.xz
|
||||
source = https://mesa.freedesktop.org/archive/mesa-24.0.3.tar.xz.sig
|
||||
source = radeon_bo_can_reclaim_slab.diff
|
||||
source = vulkan-dispatch-table-add-an-uncompacted-version.patch
|
||||
source = LICENSE
|
||||
validpgpkeys = 8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D
|
||||
validpgpkeys = 946D09B5E4C9845E63075FF1D961C596A7203456
|
||||
|
@ -55,15 +54,13 @@ pkgbase = mesa
|
|||
validpgpkeys = A5CC9FEC93F2F837CB044912336909B6B25FADFA
|
||||
validpgpkeys = 71C4B75620BC75708B4BDB254C95FAAB3EB073EC
|
||||
validpgpkeys = 57551DE15B968F6341C248F68D8E31AFC32428A6
|
||||
sha256sums = 94e28a8edad06d8ed2b83eb53f253b9eb5aa62c3080f939702e1b3039b56c9e8
|
||||
sha256sums = 77aec9a2a37b7d3596ea1640b3cc53d0b5d9b3b52abed89de07e3717e91bfdbe
|
||||
sha256sums = SKIP
|
||||
sha256sums = 3fd1ad8cd29319502a6f80ecb96bb9a059e5de83a8b6e39f23de8d93921fd922
|
||||
sha256sums = 1733ec76f735788837833e7571b641fc64b56ec3176b93e9234fc0b5428ee6d8
|
||||
sha256sums = 7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537
|
||||
b2sums = f69e0b3edb7b8611f528a2e04104fe14b2fe8c799921be2d112dba744133813a19f90aa11d39f3f87a282e518003c7cc7966143d25e845f1f4489c461b22f661
|
||||
b2sums = 7af5dc7f11bb11a3d04b3d71b5122a5bf9fe9242440444f266c6d1fac5891b4380a5f792fb66216f1937a7d886402f786d44365c93362d31fb6840d0954c95b4
|
||||
b2sums = SKIP
|
||||
b2sums = e7c3451a342cc648149375ce58697ae24273d47060e74ca2948d45ea8fe29b104f1daae4c91968fb6f37d41963d176987abf9ee21acfba0172a9b5d30300a72e
|
||||
b2sums = e057a085bf7a9faceaa90b29555626d79e8c818e84a9424ade53dd21c512b2ea37dabb1d8ecccdf0f8fa69a4c6e7b66a6fe970b65baf1d368d6b9cc94ba532c7
|
||||
b2sums = 1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb
|
||||
|
||||
pkgname = vulkan-mesa-layers
|
||||
|
|
|
@ -25,8 +25,8 @@ pkgname=(
|
|||
'mesa-vdpau'
|
||||
'mesa'
|
||||
)
|
||||
pkgver=24.0.2
|
||||
pkgrel=2
|
||||
pkgver=24.0.3
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
pkgdesc="An open-source implementation of the OpenGL specification"
|
||||
url="https://www.mesa3d.org/"
|
||||
|
@ -83,18 +83,15 @@ makedepends=(
|
|||
source=(
|
||||
https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
||||
radeon_bo_can_reclaim_slab.diff
|
||||
vulkan-dispatch-table-add-an-uncompacted-version.patch
|
||||
LICENSE
|
||||
)
|
||||
sha256sums=('94e28a8edad06d8ed2b83eb53f253b9eb5aa62c3080f939702e1b3039b56c9e8'
|
||||
sha256sums=('77aec9a2a37b7d3596ea1640b3cc53d0b5d9b3b52abed89de07e3717e91bfdbe'
|
||||
'SKIP'
|
||||
'3fd1ad8cd29319502a6f80ecb96bb9a059e5de83a8b6e39f23de8d93921fd922'
|
||||
'1733ec76f735788837833e7571b641fc64b56ec3176b93e9234fc0b5428ee6d8'
|
||||
'7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537')
|
||||
b2sums=('f69e0b3edb7b8611f528a2e04104fe14b2fe8c799921be2d112dba744133813a19f90aa11d39f3f87a282e518003c7cc7966143d25e845f1f4489c461b22f661'
|
||||
b2sums=('7af5dc7f11bb11a3d04b3d71b5122a5bf9fe9242440444f266c6d1fac5891b4380a5f792fb66216f1937a7d886402f786d44365c93362d31fb6840d0954c95b4'
|
||||
'SKIP'
|
||||
'e7c3451a342cc648149375ce58697ae24273d47060e74ca2948d45ea8fe29b104f1daae4c91968fb6f37d41963d176987abf9ee21acfba0172a9b5d30300a72e'
|
||||
'e057a085bf7a9faceaa90b29555626d79e8c818e84a9424ade53dd21c512b2ea37dabb1d8ecccdf0f8fa69a4c6e7b66a6fe970b65baf1d368d6b9cc94ba532c7'
|
||||
'1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb')
|
||||
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
|
||||
'946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
|
||||
|
@ -109,9 +106,6 @@ prepare() {
|
|||
# Proposed crash fix from https://gitlab.freedesktop.org/mesa/mesa/-/issues/10613#note_2290167
|
||||
patch -Np1 -i ../radeon_bo_can_reclaim_slab.diff
|
||||
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27834
|
||||
patch -Np1 -i ../vulkan-dispatch-table-add-an-uncompacted-version.patch
|
||||
|
||||
# Include package release in version string so Chromium invalidates
|
||||
# its GPU cache; otherwise it can cause pages to render incorrectly.
|
||||
# https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2020604
|
||||
|
|
|
@ -1,230 +0,0 @@
|
|||
From 5d91db9666ea61be549b2edc28d5ad4c34b34aab Mon Sep 17 00:00:00 2001
|
||||
From: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
|
||||
Date: Tue, 27 Feb 2024 14:41:28 -0500
|
||||
Subject: [PATCH 1/2] vulkan/dispatch_table: add an uncompacted version of the
|
||||
table
|
||||
|
||||
this is a bandaid fix that allows users (zink) to actually call the
|
||||
functions intended to be called. the real fix would be to figure out
|
||||
which extensions are enabled on the device and then only GPA the
|
||||
functions associated with those extensions
|
||||
|
||||
that's too hard though so I'm slapping some flex tape on it
|
||||
|
||||
cc: mesa-stable
|
||||
|
||||
Acked-by: Dave Airlie <airlied@redhat.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27834>
|
||||
---
|
||||
src/vulkan/util/vk_dispatch_table_gen.py | 109 +++++++++++++++++++++++
|
||||
1 file changed, 109 insertions(+)
|
||||
|
||||
diff --git a/src/vulkan/util/vk_dispatch_table_gen.py b/src/vulkan/util/vk_dispatch_table_gen.py
|
||||
index 2db977b25deff..7a3b459b37155 100644
|
||||
--- a/src/vulkan/util/vk_dispatch_table_gen.py
|
||||
+++ b/src/vulkan/util/vk_dispatch_table_gen.py
|
||||
@@ -152,6 +152,62 @@ ${entrypoint_table('instance', instance_entrypoints)}
|
||||
${entrypoint_table('physical_device', physical_device_entrypoints)}
|
||||
${entrypoint_table('device', device_entrypoints)}
|
||||
|
||||
+<%def name="uncompacted_dispatch_table(entrypoints)">
|
||||
+% for e in entrypoints:
|
||||
+ % if e.alias:
|
||||
+ <% continue %>
|
||||
+ % endif
|
||||
+ % if e.guard is not None:
|
||||
+#ifdef ${e.guard}
|
||||
+ % endif
|
||||
+ PFN_vk${e.name} ${e.name};
|
||||
+ % if e.aliases:
|
||||
+ % for a in e.aliases:
|
||||
+ PFN_vk${a.name} ${a.name};
|
||||
+ % endfor
|
||||
+ % endif
|
||||
+ % if e.guard is not None:
|
||||
+#else
|
||||
+ PFN_vkVoidFunction ${e.name};
|
||||
+ % if e.aliases:
|
||||
+ % for a in e.aliases:
|
||||
+ PFN_vkVoidFunction ${a.name};
|
||||
+ % endfor
|
||||
+ % endif
|
||||
+#endif
|
||||
+ % endif
|
||||
+% endfor
|
||||
+</%def>
|
||||
+
|
||||
+
|
||||
+struct vk_instance_uncompacted_dispatch_table {
|
||||
+ ${uncompacted_dispatch_table(instance_entrypoints)}
|
||||
+};
|
||||
+
|
||||
+struct vk_physical_device_uncompacted_dispatch_table {
|
||||
+ ${uncompacted_dispatch_table(physical_device_entrypoints)}
|
||||
+};
|
||||
+
|
||||
+struct vk_device_uncompacted_dispatch_table {
|
||||
+ ${uncompacted_dispatch_table(device_entrypoints)}
|
||||
+};
|
||||
+
|
||||
+struct vk_uncompacted_dispatch_table {
|
||||
+ union {
|
||||
+ struct {
|
||||
+ struct vk_instance_uncompacted_dispatch_table instance;
|
||||
+ struct vk_physical_device_uncompacted_dispatch_table physical_device;
|
||||
+ struct vk_device_uncompacted_dispatch_table device;
|
||||
+ };
|
||||
+
|
||||
+ struct {
|
||||
+ ${uncompacted_dispatch_table(instance_entrypoints)}
|
||||
+ ${uncompacted_dispatch_table(physical_device_entrypoints)}
|
||||
+ ${uncompacted_dispatch_table(device_entrypoints)}
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
void
|
||||
vk_instance_dispatch_table_load(struct vk_instance_dispatch_table *table,
|
||||
PFN_vkGetInstanceProcAddr gpa,
|
||||
@@ -165,6 +221,19 @@ vk_device_dispatch_table_load(struct vk_device_dispatch_table *table,
|
||||
PFN_vkGetDeviceProcAddr gpa,
|
||||
VkDevice device);
|
||||
|
||||
+void
|
||||
+vk_instance_uncompacted_dispatch_table_load(struct vk_instance_uncompacted_dispatch_table *table,
|
||||
+ PFN_vkGetInstanceProcAddr gpa,
|
||||
+ VkInstance instance);
|
||||
+void
|
||||
+vk_physical_device_uncompacted_dispatch_table_load(struct vk_physical_device_uncompacted_dispatch_table *table,
|
||||
+ PFN_vkGetInstanceProcAddr gpa,
|
||||
+ VkInstance instance);
|
||||
+void
|
||||
+vk_device_uncompacted_dispatch_table_load(struct vk_device_uncompacted_dispatch_table *table,
|
||||
+ PFN_vkGetDeviceProcAddr gpa,
|
||||
+ VkDevice device);
|
||||
+
|
||||
void vk_instance_dispatch_table_from_entrypoints(
|
||||
struct vk_instance_dispatch_table *dispatch_table,
|
||||
const struct vk_instance_entrypoint_table *entrypoint_table,
|
||||
@@ -267,6 +336,46 @@ ${load_dispatch_table('physical_device', 'VkInstance', 'GetInstanceProcAddr',
|
||||
${load_dispatch_table('device', 'VkDevice', 'GetDeviceProcAddr',
|
||||
device_entrypoints)}
|
||||
|
||||
+<%def name="load_uncompacted_dispatch_table(type, VkType, ProcAddr, entrypoints)">
|
||||
+void
|
||||
+vk_${type}_uncompacted_dispatch_table_load(struct vk_${type}_uncompacted_dispatch_table *table,
|
||||
+ PFN_vk${ProcAddr} gpa,
|
||||
+ ${VkType} obj)
|
||||
+{
|
||||
+% if type != 'physical_device':
|
||||
+ table->${ProcAddr} = gpa;
|
||||
+% endif
|
||||
+% for e in entrypoints:
|
||||
+ % if e.alias or e.name == '${ProcAddr}':
|
||||
+ <% continue %>
|
||||
+ % endif
|
||||
+ % if e.guard is not None:
|
||||
+#ifdef ${e.guard}
|
||||
+ % endif
|
||||
+ table->${e.name} = (PFN_vk${e.name}) gpa(obj, "vk${e.name}");
|
||||
+ % for a in e.aliases:
|
||||
+ table->${a.name} = (PFN_vk${a.name}) gpa(obj, "vk${a.name}");
|
||||
+ if (table->${e.name} && !table->${a.name})
|
||||
+ table->${a.name} = (PFN_vk${a.name}) table->${e.name};
|
||||
+ if (!table->${e.name})
|
||||
+ table->${e.name} = (PFN_vk${e.name}) table->${a.name};
|
||||
+ % endfor
|
||||
+ % if e.guard is not None:
|
||||
+#endif
|
||||
+ % endif
|
||||
+% endfor
|
||||
+}
|
||||
+</%def>
|
||||
+
|
||||
+${load_uncompacted_dispatch_table('instance', 'VkInstance', 'GetInstanceProcAddr',
|
||||
+ instance_entrypoints)}
|
||||
+
|
||||
+${load_uncompacted_dispatch_table('physical_device', 'VkInstance', 'GetInstanceProcAddr',
|
||||
+ physical_device_entrypoints)}
|
||||
+
|
||||
+${load_uncompacted_dispatch_table('device', 'VkDevice', 'GetDeviceProcAddr',
|
||||
+ device_entrypoints)}
|
||||
+
|
||||
|
||||
struct string_map_entry {
|
||||
uint32_t name;
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From d4f3770ea232e015e445b9d1fcab699119417fac Mon Sep 17 00:00:00 2001
|
||||
From: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
|
||||
Date: Tue, 27 Feb 2024 16:20:48 -0500
|
||||
Subject: [PATCH 2/2] zink: use uncompacted vk_dispatch_table
|
||||
|
||||
the dispatch table doesn't know which extensions zink wants to use,
|
||||
so let zink use the extensions it wants to use
|
||||
|
||||
fixes #10513
|
||||
|
||||
cc: mesa-stable
|
||||
|
||||
Acked-by: Dave Airlie <airlied@redhat.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27834>
|
||||
---
|
||||
src/gallium/drivers/zink/zink_screen.c | 18 +++++++++---------
|
||||
src/gallium/drivers/zink/zink_types.h | 2 +-
|
||||
2 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c
|
||||
index 11e54a0054a09..035e742c98af7 100644
|
||||
--- a/src/gallium/drivers/zink/zink_screen.c
|
||||
+++ b/src/gallium/drivers/zink/zink_screen.c
|
||||
@@ -3288,12 +3288,12 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
|
||||
}
|
||||
}
|
||||
|
||||
- vk_instance_dispatch_table_load(&screen->vk.instance,
|
||||
- screen->vk_GetInstanceProcAddr,
|
||||
- screen->instance);
|
||||
- vk_physical_device_dispatch_table_load(&screen->vk.physical_device,
|
||||
- screen->vk_GetInstanceProcAddr,
|
||||
- screen->instance);
|
||||
+ vk_instance_uncompacted_dispatch_table_load(&screen->vk.instance,
|
||||
+ screen->vk_GetInstanceProcAddr,
|
||||
+ screen->instance);
|
||||
+ vk_physical_device_uncompacted_dispatch_table_load(&screen->vk.physical_device,
|
||||
+ screen->vk_GetInstanceProcAddr,
|
||||
+ screen->instance);
|
||||
|
||||
zink_verify_instance_extensions(screen);
|
||||
|
||||
@@ -3390,9 +3390,9 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
|
||||
if (!screen->dev)
|
||||
goto fail;
|
||||
|
||||
- vk_device_dispatch_table_load(&screen->vk.device,
|
||||
- screen->vk_GetDeviceProcAddr,
|
||||
- screen->dev);
|
||||
+ vk_device_uncompacted_dispatch_table_load(&screen->vk.device,
|
||||
+ screen->vk_GetDeviceProcAddr,
|
||||
+ screen->dev);
|
||||
|
||||
init_queue(screen);
|
||||
|
||||
diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h
|
||||
index bc668b60d8e64..ddfb2532c8432 100644
|
||||
--- a/src/gallium/drivers/zink/zink_types.h
|
||||
+++ b/src/gallium/drivers/zink/zink_types.h
|
||||
@@ -1523,7 +1523,7 @@ struct zink_screen {
|
||||
bool renderdoc_capture_all;
|
||||
#endif
|
||||
|
||||
- struct vk_dispatch_table vk;
|
||||
+ struct vk_uncompacted_dispatch_table vk;
|
||||
|
||||
void (*buffer_barrier)(struct zink_context *ctx, struct zink_resource *res, VkAccessFlags flags, VkPipelineStageFlags pipeline);
|
||||
void (*image_barrier)(struct zink_context *ctx, struct zink_resource *res, VkImageLayout new_layout, VkAccessFlags flags, VkPipelineStageFlags pipeline);
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in a new issue