From 7f3a9f96095f808ce85585605ebd6068f1da0fb2 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Jan 16 2024 14:46:09 +0000 Subject: Update to 24.0.0-rc1 This new release contains among other things, initial support in powervr for the upstream imagination/powervr DRM driver and kmsro handling for a bunch of display drivers. --- diff --git a/mesa-meson-c99.patch b/mesa-meson-c99.patch deleted file mode 100644 index 6cbb053..0000000 --- a/mesa-meson-c99.patch +++ /dev/null @@ -1,42 +0,0 @@ -meson: C type error in strtod_l/strtof_l probe - -Future compilers will fail compilation due to the C type error: - -…/testfile.c: In function 'main': -…/testfile.c:12:30: error: passing argument 2 of 'strtod_l' from incompatible pointer type - 12 | double d = strtod_l(s, end, loc); - | ^~~ - | | - | char * -/usr/include/stdlib.h:416:43: note: expected 'char ** restrict' but argument is of type 'char *' - 416 | char **__restrict __endptr, locale_t __loc) - | ~~~~~~~~~~~~~~~~~~^~~~~~~~ -…/testfile.c:13:29: error: passing argument 2 of 'strtof_l' from incompatible pointer type - 13 | float f = strtof_l(s, end, loc); - | ^~~ - | | - | char * -/usr/include/stdlib.h:420:42: note: expected 'char ** restrict' but argument is of type 'char *' - 420 | char **__restrict __endptr, locale_t __loc) - | ~~~~~~~~~~~~~~~~~~^~~~~~~~ - -This means that the probe no longer tests is objective and always -fails. - -Submitted upstream: - -diff --git a/meson.build b/meson.build -index 35cc5f1cd5fd9079..1a5d2ba492be0b31 100644 ---- a/meson.build -+++ b/meson.build -@@ -1425,8 +1425,8 @@ if cc.links(''' - locale_t loc = newlocale(LC_CTYPE_MASK, "C", NULL); - const char *s = "1.0"; - char *end; -- double d = strtod_l(s, end, loc); -- float f = strtof_l(s, end, loc); -+ double d = strtod_l(s, &end, loc); -+ float f = strtof_l(s, &end, loc); - freelocale(loc); - return 0; - }''', diff --git a/mesa.spec b/mesa.spec index 8f63e39..52e1536 100644 --- a/mesa.spec +++ b/mesa.spec @@ -34,7 +34,7 @@ %global with_tegra 1 %global with_v3d 1 %global with_xa 1 -%global extra_platform_vulkan ,broadcom,freedreno,panfrost +%global extra_platform_vulkan ,broadcom,freedreno,panfrost,imagination-experimental %endif %ifnarch s390x @@ -61,7 +61,7 @@ Name: mesa Summary: Mesa graphics libraries -%global ver 23.3.3 +%global ver 24.0.0-rc1 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} Release: %autorelease License: MIT AND BSD-3-Clause AND SGI-B-2.0 @@ -74,8 +74,6 @@ Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz Source1: Mesa-MLAA-License-Clarification-Email.txt Patch10: gnome-shell-glthread-disable.patch -Patch11: zink-fix-resizable-bar-detection-logic.patch -Patch12: mesa-meson-c99.patch BuildRequires: meson >= 1.2.0 BuildRequires: gcc @@ -596,20 +594,26 @@ popd %if 0%{?with_kmsro} %{_libdir}/dri/armada-drm_dri.so %{_libdir}/dri/exynos_dri.so +%{_libdir}/dri/gm12u320_dri.so %{_libdir}/dri/hdlcd_dri.so %{_libdir}/dri/hx8357d_dri.so +%{_libdir}/dri/ili9163_dri.so %{_libdir}/dri/ili9225_dri.so %{_libdir}/dri/ili9341_dri.so +%{_libdir}/dri/ili9486_dri.so %{_libdir}/dri/imx-dcss_dri.so %{_libdir}/dri/mediatek_dri.so %{_libdir}/dri/meson_dri.so %{_libdir}/dri/mi0283qt_dri.so +%{_libdir}/dri/panel-mipi-dbi_dri.so %{_libdir}/dri/pl111_dri.so %{_libdir}/dri/repaper_dri.so %{_libdir}/dri/rockchip_dri.so %{_libdir}/dri/st7586_dri.so %{_libdir}/dri/st7735r_dri.so +%{_libdir}/dri/sti_dri.so %{_libdir}/dri/sun4i-drm_dri.so +%{_libdir}/dri/udl_dri.so %endif %if 0%{?with_vulkan_hw} %{_libdir}/dri/zink_dri.so @@ -646,7 +650,10 @@ popd %files vulkan-drivers %{_libdir}/libvulkan_lvp.so +%{_libdir}/libpowervr_rogue.so +%{_libdir}/libvulkan_powervr_mesa.so %{_datadir}/vulkan/icd.d/lvp_icd.*.json +%{_datadir}/vulkan/icd.d/powervr_mesa_icd.*.json %{_libdir}/libVkLayer_MESA_device_select.so %{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json %if 0%{?with_vulkan_hw} diff --git a/sources b/sources index 8e37cea..b8c2c1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mesa-23.3.3.tar.xz) = bed23e8324b026edd5d2b16a381ec563cf2fa9be9c8fbe8d9fb907cab9d87eef91f493fb9d4e3973d4b679e271d2a85ce48af491585638ab97f087532fc63c30 +SHA512 (mesa-24.0.0-rc1.tar.xz) = e57b6b63baab77d17c7ba149bd5856fa64e6852ab2b134df8d3bb20b5aedd2b7223f500b6f6fed4095a3b52217eec17ce4e688c47a90220645416c54ce0e9e46 diff --git a/zink-fix-resizable-bar-detection-logic.patch b/zink-fix-resizable-bar-detection-logic.patch deleted file mode 100644 index 4a5e916..0000000 --- a/zink-fix-resizable-bar-detection-logic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a077c14f150f1c4f670dce381ac2eb548f1a4ac2 Mon Sep 17 00:00:00 2001 -From: Alessandro Astone -Date: Wed, 10 Jan 2024 17:24:30 +0100 -Subject: [PATCH] zink: Fix resizable BAR detection logic - -This was broken in two ways: -* When looking for the MAX biggest_ram it was actually comparing - a candidate against biggest_vis_ram - -* mem_props.memoryTypes[] should be accessed with the memory type - index as found in heap_map - -Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10341 -Cc: 23.3 -Part-of: ---- - src/gallium/drivers/zink/zink_screen.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c -index 5a6d17cb4fa3..6697d7ab938c 100644 ---- a/src/gallium/drivers/zink/zink_screen.c -+++ b/src/gallium/drivers/zink/zink_screen.c -@@ -3258,10 +3258,10 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev - { - uint64_t biggest_vis_vram = 0; - for (unsigned i = 0; i < screen->heap_count[ZINK_HEAP_DEVICE_LOCAL_VISIBLE]; i++) -- biggest_vis_vram = MAX2(biggest_vis_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[i].heapIndex].size); -+ biggest_vis_vram = MAX2(biggest_vis_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[screen->heap_map[ZINK_HEAP_DEVICE_LOCAL_VISIBLE][i]].heapIndex].size); - uint64_t biggest_vram = 0; - for (unsigned i = 0; i < screen->heap_count[ZINK_HEAP_DEVICE_LOCAL]; i++) -- biggest_vram = MAX2(biggest_vis_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[i].heapIndex].size); -+ biggest_vram = MAX2(biggest_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[screen->heap_map[ZINK_HEAP_DEVICE_LOCAL][i]].heapIndex].size); - /* determine if vis vram is roughly equal to total vram */ - if (biggest_vis_vram > biggest_vram * 0.9) - screen->resizable_bar = true; --- -GitLab -