diff --git a/0001-Revert-dri-fix-__DRI_IMAGE_FORMAT-to-PIPE_FORMAT-map.patch b/0001-Revert-dri-fix-__DRI_IMAGE_FORMAT-to-PIPE_FORMAT-map.patch deleted file mode 100644 index cb45b1d..0000000 --- a/0001-Revert-dri-fix-__DRI_IMAGE_FORMAT-to-PIPE_FORMAT-map.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 102d282d8add081f5f1aab35974218f151744ac5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= -Date: Mon, 23 Feb 2026 08:40:07 +0100 -Subject: [PATCH] Revert "dri: fix __DRI_IMAGE_FORMAT* to PIPE_FORMAT* - mappings" - -This reverts commit 2ae8d0362bec12e84f787f226d2ba7a18130084f. ---- - src/loader/loader_dri_helper.h | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -diff --git a/src/loader/loader_dri_helper.h b/src/loader/loader_dri_helper.h -index 169e36b5d80..0d801e99648 100644 ---- a/src/loader/loader_dri_helper.h -+++ b/src/loader/loader_dri_helper.h -@@ -61,8 +61,10 @@ struct loader_screen_resources { - - - /** -- * These formats are endian independent they result in the same layout -- * regradless of a big or little endian cpu. -+ * These formats correspond to the similarly named MESA_FORMAT_* -+ * tokens, except in the native endian of the CPU. For example, on -+ * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to -+ * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian. - * - * __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable - * by the driver (YUV planar formats) but serve as a base image for -@@ -73,21 +75,21 @@ struct loader_screen_resources { - * createImageFromNames (NONE, see above) and fromPlane (R8 & GR88). - */ - #define __DRI_IMAGE_FORMAT_RGB565 PIPE_FORMAT_B5G6R5_UNORM --#define __DRI_IMAGE_FORMAT_XRGB8888 PIPE_FORMAT_B8G8R8X8_UNORM --#define __DRI_IMAGE_FORMAT_ARGB8888 PIPE_FORMAT_B8G8R8A8_UNORM --#define __DRI_IMAGE_FORMAT_ABGR8888 PIPE_FORMAT_R8G8B8A8_UNORM --#define __DRI_IMAGE_FORMAT_XBGR8888 PIPE_FORMAT_R8G8B8X8_UNORM -+#define __DRI_IMAGE_FORMAT_XRGB8888 PIPE_FORMAT_BGRX8888_UNORM -+#define __DRI_IMAGE_FORMAT_ARGB8888 PIPE_FORMAT_BGRA8888_UNORM -+#define __DRI_IMAGE_FORMAT_ABGR8888 PIPE_FORMAT_RGBA8888_UNORM -+#define __DRI_IMAGE_FORMAT_XBGR8888 PIPE_FORMAT_RGBX8888_UNORM - #define __DRI_IMAGE_FORMAT_RGB888 PIPE_FORMAT_B8G8R8_UNORM - #define __DRI_IMAGE_FORMAT_BGR888 PIPE_FORMAT_R8G8B8_UNORM - #define __DRI_IMAGE_FORMAT_R8 PIPE_FORMAT_R8_UNORM --#define __DRI_IMAGE_FORMAT_GR88 PIPE_FORMAT_R8G8_UNORM -+#define __DRI_IMAGE_FORMAT_GR88 PIPE_FORMAT_RG88_UNORM - #define __DRI_IMAGE_FORMAT_NONE PIPE_FORMAT_NONE - #define __DRI_IMAGE_FORMAT_XRGB2101010 PIPE_FORMAT_B10G10R10X2_UNORM - #define __DRI_IMAGE_FORMAT_ARGB2101010 PIPE_FORMAT_B10G10R10A2_UNORM - #define __DRI_IMAGE_FORMAT_SARGB8 PIPE_FORMAT_BGRA8888_SRGB - #define __DRI_IMAGE_FORMAT_ARGB1555 PIPE_FORMAT_B5G5R5A1_UNORM - #define __DRI_IMAGE_FORMAT_R16 PIPE_FORMAT_R16_UNORM --#define __DRI_IMAGE_FORMAT_GR1616 PIPE_FORMAT_R16G16_UNORM -+#define __DRI_IMAGE_FORMAT_GR1616 PIPE_FORMAT_RG1616_UNORM - #define __DRI_IMAGE_FORMAT_XBGR2101010 PIPE_FORMAT_R10G10B10X2_UNORM - #define __DRI_IMAGE_FORMAT_ABGR2101010 PIPE_FORMAT_R10G10B10A2_UNORM - #define __DRI_IMAGE_FORMAT_SABGR8 PIPE_FORMAT_RGBA8888_SRGB --- -2.53.0 - diff --git a/0001-device-select-add-a-layer-setting-to-disable-device-.patch b/0001-device-select-add-a-layer-setting-to-disable-device-.patch deleted file mode 100644 index c286c70..0000000 --- a/0001-device-select-add-a-layer-setting-to-disable-device-.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b0158d174d297276397b21a6657ea0ef14652183 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Wed, 5 Nov 2025 11:01:05 +1000 -Subject: [PATCH 1/2] device-select: add a layer setting to disable device - selection logic - -There are cases like zink where we have a file descriptors we are searching -for devices for, so we don't need device selecting reordering, we just want -the fastest path to get the devices so we can match them. - -This also helps avoid some cases of deadlock inside compositors where -zink/vulkan initialises later and tries to connect to the compositor. - -This uses a VK_EXT_layer_setting to add a bypass setting. ---- - .../VkLayer_MESA_device_select.json.in | 6 +++ - .../device-select-layer/device_select_layer.c | 53 +++++++++++++++---- - 2 files changed, 48 insertions(+), 11 deletions(-) - -diff --git a/src/vulkan/device-select-layer/VkLayer_MESA_device_select.json.in b/src/vulkan/device-select-layer/VkLayer_MESA_device_select.json.in -index 40d6ea8cd8b..1623381a81a 100644 ---- a/src/vulkan/device-select-layer/VkLayer_MESA_device_select.json.in -+++ b/src/vulkan/device-select-layer/VkLayer_MESA_device_select.json.in -@@ -7,6 +7,12 @@ - "api_version": "1.4.303", - "implementation_version": "1", - "description": "Linux device selection layer", -+ "instance_extensions": [ -+ { -+ "name": "VK_EXT_layer_settings", -+ "spec_version": "2" -+ } -+ ], - "functions": { - "vkNegotiateLoaderLayerInterfaceVersion": "vkNegotiateLoaderLayerInterfaceVersion" - }, -diff --git a/src/vulkan/device-select-layer/device_select_layer.c b/src/vulkan/device-select-layer/device_select_layer.c -index 19cfc556f54..c03938b82c0 100644 ---- a/src/vulkan/device-select-layer/device_select_layer.c -+++ b/src/vulkan/device-select-layer/device_select_layer.c -@@ -54,7 +54,9 @@ struct instance_info { - PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2; - bool has_pci_bus, has_vulkan11; - bool has_wayland, has_xcb; -- bool zink, xwayland, xserver; -+ bool xserver; -+ /* don't do device selection */ -+ bool bypass_device_select; - }; - - static struct hash_table *device_select_instance_ht = NULL; -@@ -118,10 +120,34 @@ static VkResult device_select_CreateInstance(const VkInstanceCreateInfo *pCreate - const VkAllocationCallbacks *pAllocator, - VkInstance *pInstance) - { -- VkLayerInstanceCreateInfo *chain_info; -- for(chain_info = (VkLayerInstanceCreateInfo*)pCreateInfo->pNext; chain_info; chain_info = (VkLayerInstanceCreateInfo*)chain_info->pNext) -- if(chain_info->sType == VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO && chain_info->function == VK_LAYER_LINK_INFO) -+ VkLayerInstanceCreateInfo *chain_info = NULL; -+ bool bypass_device_select = false; -+ vk_foreach_struct_const(s, pCreateInfo->pNext) { -+ switch (s->sType) { -+ case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: { -+ const VkLayerInstanceCreateInfo *this_info = (const void *)s; -+ if (this_info->function == VK_LAYER_LINK_INFO) -+ chain_info = (VkLayerInstanceCreateInfo *)this_info; /* loses const */ - break; -+ } -+ case VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT: { -+ const VkLayerSettingsCreateInfoEXT *lsci = (const void *)s; -+ for (unsigned i = 0; i < lsci->settingCount; i++) { -+ const VkLayerSettingEXT *ls = &lsci->pSettings[i]; -+ if (!strcmp(ls->pLayerName, "MESA_device_select")) { -+ if (!strcmp(ls->pSettingName, "no_device_select")) { -+ assert(ls->type == VK_LAYER_SETTING_TYPE_BOOL32_EXT); -+ uint32_t *values = (uint32_t *)ls->pValues; -+ bypass_device_select = values[0]; -+ } -+ } -+ } -+ break; -+ } -+ default: -+ break; -+ } -+ } - - assert(chain_info->u.pLayerInfo); - -@@ -140,10 +166,10 @@ static VkResult device_select_CreateInstance(const VkInstanceCreateInfo *pCreate - return result; - } - -+ bool zink = !strcmp(engineName, "mesa zink"); -+ bool xwayland = !strcmp(applicationName, "Xwayland"); - struct instance_info *info = (struct instance_info *)calloc(1, sizeof(struct instance_info)); - info->GetInstanceProcAddr = GetInstanceProcAddr; -- info->zink = !strcmp(engineName, "mesa zink"); -- info->xwayland = !strcmp(applicationName, "Xwayland"); - info->xserver = !strcmp(applicationName, "Xorg") || !strcmp(applicationName, "Xephyr"); - - bool has_wayland = getenv("WAYLAND_DISPLAY") || getenv("WAYLAND_SOCKET"); -@@ -155,16 +181,20 @@ static VkResult device_select_CreateInstance(const VkInstanceCreateInfo *pCreate - info->has_wayland = true; - #endif - #ifdef VK_USE_PLATFORM_XCB_KHR -- if (!strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XCB_SURFACE_EXTENSION_NAME) && has_xcb) -- info->has_xcb = !info->xserver || !info->zink; -+ if (!strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XCB_SURFACE_EXTENSION_NAME) && -+ has_xcb) -+ info->has_xcb = !info->xserver || !zink; - #endif - } - -+ if (zink && xwayland) -+ bypass_device_select = true; - /* - * 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->bypass_device_select = bypass_device_select; - info->has_vulkan11 = pCreateInfo->pApplicationInfo && - pCreateInfo->pApplicationInfo->apiVersion >= VK_MAKE_VERSION(1, 1, 0); - -@@ -558,7 +588,7 @@ static VkResult device_select_EnumeratePhysicalDevices(VkInstance instance, - uint32_t selected_physical_device_count = 0; - const char* selection = getenv("MESA_VK_DEVICE_SELECT"); - bool expose_only_one_dev = false; -- if (info->zink && info->xwayland) -+ if (info->bypass_device_select) - return info->EnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices); - VkResult result = info->EnumeratePhysicalDevices(instance, &physical_device_count, NULL); - VK_OUTARRAY_MAKE_TYPED(VkPhysicalDevice, out, pPhysicalDevices, pPhysicalDeviceCount); -@@ -643,8 +673,9 @@ static VkResult device_select_EnumeratePhysicalDeviceGroups(VkInstance instance, - struct instance_info *info = device_select_layer_get_instance(instance); - uint32_t physical_device_group_count = 0; - uint32_t selected_physical_device_group_count = 0; -- if (info->zink && info->xwayland) -- return info->EnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroups); -+ if (info->bypass_device_select) -+ return info->EnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, -+ pPhysicalDeviceGroups); - VkResult result = info->EnumeratePhysicalDeviceGroups(instance, &physical_device_group_count, NULL); - VK_OUTARRAY_MAKE_TYPED(VkPhysicalDeviceGroupProperties, out, pPhysicalDeviceGroups, pPhysicalDeviceGroupCount); - --- -2.51.1 - diff --git a/0001-gallivm-handle-u16-correct-on-const-loads.patch b/0001-gallivm-handle-u16-correct-on-const-loads.patch deleted file mode 100644 index 9769f7a..0000000 --- a/0001-gallivm-handle-u16-correct-on-const-loads.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c016346b50e9085b531f9bcbd7cfd63d3806a3e1 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Wed, 11 Feb 2026 05:47:57 +1000 -Subject: [PATCH] gallivm: handle u16 correct on const loads. - -I somehow screwed this up on my previous attempt at fixing this bug, - -This should fix the loop limiter bug on big endian properly. - -Reviewed-by: Georg Lehmann -Cc: mesa-stable -Fixes: e28cfb2bada2 ("gallivm: handle u8/u16 const loads properly on big-endian.") -Part-of: ---- - src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -index 770f1cc6592..e755225dce9 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -@@ -1269,10 +1269,7 @@ emit_load_const(struct lp_build_nir_soa_context *bld, - - for (unsigned i = 0; i < instr->def.num_components; i++) { - outval[i] = lp_build_const_int_vec(bld->base.gallivm, int_bld->type, -- bits == 8 ? instr->value[i].u8 : -- bits == 16 ? instr->value[i].u32 : -- bits == 32 ? instr->value[i].u32 : -- instr->value[i].u64); -+ nir_const_value_as_uint(instr->value[i], bits)); - } - for (unsigned i = instr->def.num_components; i < NIR_MAX_VEC_COMPONENTS; i++) { - outval[i] = NULL; --- -2.53.0 - diff --git a/0002-zink-use-device-select-layer-settings-to-disable-dev.patch b/0002-zink-use-device-select-layer-settings-to-disable-dev.patch deleted file mode 100644 index 319e4b3..0000000 --- a/0002-zink-use-device-select-layer-settings-to-disable-dev.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 30c754624ab73b180c66658701814ec5e3d12a31 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Wed, 5 Nov 2025 11:02:26 +1000 -Subject: [PATCH 2/2] zink: use device select layer settings to disable device - selection - -In the case where we have a device that we want to choose after -probing, there is no point in asking the device select layer to do -any reordering at all. - -This helps avoid a deadlock inside compositors where we don't need -device selection anyways. ---- - src/gallium/drivers/zink/zink_instance.py | 18 ++++++++++++++++++ - src/gallium/drivers/zink/zink_screen.c | 9 ++++++++- - 2 files changed, 26 insertions(+), 1 deletion(-) - -diff --git a/src/gallium/drivers/zink/zink_instance.py b/src/gallium/drivers/zink/zink_instance.py -index 1ab36bee2ca..c0e813be164 100644 ---- a/src/gallium/drivers/zink/zink_instance.py -+++ b/src/gallium/drivers/zink/zink_instance.py -@@ -37,6 +37,7 @@ import platform - # - nonstandard: Disables validation (cross-checking with vk.xml) if True. - EXTENSIONS = [ - Extension("VK_EXT_debug_utils"), -+ Extension("VK_EXT_layer_settings"), - Extension("VK_KHR_get_physical_device_properties2"), - Extension("VK_KHR_external_memory_capabilities"), - Extension("VK_KHR_external_semaphore_capabilities"), -@@ -62,8 +63,10 @@ LAYERS = [ - conditions=["zink_debug & ZINK_DEBUG_VALIDATION"]), - Layer("VK_LAYER_LUNARG_standard_validation", - conditions=["zink_debug & ZINK_DEBUG_VALIDATION", "!have_layer_KHRONOS_validation"]), -+ Layer("VK_LAYER_MESA_device_select") - ] - -+ - REPLACEMENTS = { - "VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES2_EXTENSION_NAME" : "VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME" - } -@@ -87,6 +90,7 @@ struct zink_screen; - - struct zink_instance_info { - uint32_t loader_version; -+ bool no_device_select; - - %for ext in extensions: - bool have_${ext.name_with_vendor()}; -@@ -261,6 +265,20 @@ zink_create_instance(struct zink_screen *screen, struct zink_instance_info *inst - ici.ppEnabledLayerNames = layers; - ici.enabledLayerCount = num_layers; - -+ VkLayerSettingEXT ds_layer = {0}; -+ VkLayerSettingsCreateInfoEXT lsci = {0}; -+ uint32_t no_device_select_value = instance_info->no_device_select; -+ if (have_EXT_layer_settings && have_layer_MESA_device_select) { -+ ds_layer.pLayerName = "MESA_device_select"; -+ ds_layer.pSettingName = "no_device_select"; -+ ds_layer.type = VK_LAYER_SETTING_TYPE_BOOL32_EXT; -+ ds_layer.valueCount = 1; -+ ds_layer.pValues = &no_device_select_value; -+ lsci.sType = VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT; -+ lsci.settingCount = 1; -+ lsci.pSettings = &ds_layer; -+ ici.pNext = &lsci; -+ } - GET_PROC_ADDR_INSTANCE_LOCAL(screen, NULL, CreateInstance); - assert(vk_CreateInstance); - -diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c -index 7ec86d0090a..34eee2ba113 100644 ---- a/src/gallium/drivers/zink/zink_screen.c -+++ b/src/gallium/drivers/zink/zink_screen.c -@@ -1576,6 +1576,12 @@ zink_destroy_screen(struct pipe_screen *pscreen) - glsl_type_singleton_decref(); - } - -+static bool -+zink_picks_device(int dev_major, uint64_t adapter_luid) -+{ -+ return (dev_major > 0 && dev_major < 255) || adapter_luid; -+} -+ - static int - zink_get_display_device(const struct zink_screen *screen, uint32_t pdev_count, - const VkPhysicalDevice *pdevs, int64_t dev_major, -@@ -1647,7 +1653,7 @@ choose_pdev(struct zink_screen *screen, int64_t dev_major, int64_t dev_minor, ui - bool cpu = debug_get_bool_option("LIBGL_ALWAYS_SOFTWARE", false) || - debug_get_bool_option("D3D_ALWAYS_SOFTWARE", false); - -- if (cpu || (dev_major > 0 && dev_major < 255) || adapter_luid) { -+ if (cpu || zink_picks_device(dev_major, adapter_luid)) { - uint32_t pdev_count; - int idx; - VkPhysicalDevice *pdevs; -@@ -3309,6 +3315,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev - simple_mtx_lock(&instance_lock); - if (++instance_refcount == 1) { - instance_info.loader_version = zink_get_loader_version(screen); -+ instance_info.no_device_select = zink_picks_device(dev_major, adapter_luid); - instance = zink_create_instance(screen, &instance_info); - } - if (!instance) { --- -2.51.1 - diff --git a/mesa.spec b/mesa.spec index d740f70..dc739ba 100644 --- a/mesa.spec +++ b/mesa.spec @@ -1,9 +1,9 @@ %ifnarch s390x %global with_hardware 1 +%global with_kmsro 1 %global with_radeonsi 1 %global with_vmware 1 %global with_vulkan_hw 1 -%global with_vdpau 1 %if !0%{?rhel} %global with_r300 1 %global with_r600 1 @@ -47,12 +47,11 @@ %global with_v3d 1 %endif %global with_freedreno 1 -%global with_kmsro 1 %global with_panfrost 1 %if 0%{?with_asahi} %global asahi_platform_vulkan %{?with_vulkan_hw:,asahi}%{!?with_vulkan_hw:%{nil}} %endif -%global extra_platform_vulkan %{?with_vulkan_hw:,broadcom,freedreno,panfrost,imagination-experimental}%{!?with_vulkan_hw:%{nil}} +%global extra_platform_vulkan %{?with_vulkan_hw:,broadcom,freedreno,panfrost,imagination}%{!?with_vulkan_hw:%{nil}} %endif %if !0%{?rhel} @@ -80,7 +79,7 @@ Name: mesa Summary: Mesa graphics libraries -%global ver 25.2.7 +%global ver 26.1.1 Version: %{gsub %ver - ~} Release: %autorelease License: MIT AND BSD-3-Clause AND SGI-B-2.0 @@ -99,7 +98,7 @@ Source2: https://github.com/mesonbuild/meson/releases/download/%{meson_ver}/meso # libclc is not available in RHEL but it is required for Intel drivers since # mesa >= 24.1.0 -%global libclc_version 21.1.3 +%global libclc_version 21.1.8 Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libclc_version}/libclc-%{libclc_version}.src.tar.xz BuildRequires: libedit-devel BuildRequires: clang-devel >= %{libclc_version} @@ -107,8 +106,8 @@ BuildRequires: clang-devel >= %{libclc_version} # BuildRequires: spirv-llvm-translator-tools # spirv-llvm-translator is a dependency of libclc -%global spirv_llvm_trans_ver 21.1.2 -%global spirv_llvm_trans_commit a37544fc0bb90b4e8b8d755580119c018891dfa4 +%global spirv_llvm_trans_ver 22.1.1 +%global spirv_llvm_trans_commit 114f5ee1cec66fe2ca733c12770c1bc196675d32 %global spirv_llvm_trans_shortcommit %(c=%{spirv_llvm_trans_commit}; echo ${c:0:7}) Source4: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_trans_commit}/spirv-llvm-translator-%{spirv_llvm_trans_shortcommit}.tar.gz BuildRequires: cmake @@ -123,10 +122,10 @@ BuildRequires: zlib-devel # https://gitlab.freedesktop.org/mesa/mesa/-/tree/main/subprojects # but we generally want the latest compatible versions %global rust_paste_ver 1.0.15 -%global rust_proc_macro2_ver 1.0.101 -%global rust_quote_ver 1.0.40 -%global rust_syn_ver 2.0.106 -%global rust_unicode_ident_ver 1.0.18 +%global rust_proc_macro2_ver 1.0.106 +%global rust_quote_ver 1.0.44 +%global rust_syn_ver 2.0.115 +%global rust_unicode_ident_ver 1.0.23 %global rustc_hash_ver 2.1.1 Source10: https://crates.io/api/v1/crates/paste/%{rust_paste_ver}/download#/paste-%{rust_paste_ver}.tar.gz Source11: https://crates.io/api/v1/crates/proc-macro2/%{rust_proc_macro2_ver}/download#/proc-macro2-%{rust_proc_macro2_ver}.tar.gz @@ -135,16 +134,6 @@ Source13: https://crates.io/api/v1/crates/syn/%{rust_syn_ver}/download#/sy Source14: https://crates.io/api/v1/crates/unicode-ident/%{rust_unicode_ident_ver}/download#/unicode-ident-%{rust_unicode_ident_ver}.tar.gz Source15: https://crates.io/api/v1/crates/rustc-hash/%{rustc_hash_ver}/download#/rustc-hash-%{rustc_hash_ver}.tar.gz - -# fix zink/device-select bug -Patch11: 0001-device-select-add-a-layer-setting-to-disable-device-.patch -Patch12: 0002-zink-use-device-select-layer-settings-to-disable-dev.patch - -# Fix s390x regressions: -# https://issues.redhat.com/browse/RHEL-144813 -Patch13: 0001-gallivm-handle-u16-correct-on-const-loads.patch -Patch14: 0001-Revert-dri-fix-__DRI_IMAGE_FORMAT-to-PIPE_FORMAT-map.patch - BuildRequires: meson BuildRequires: gcc BuildRequires: gcc-c++ @@ -168,6 +157,7 @@ BuildRequires: pkgconfig(wayland-protocols) >= 1.34 BuildRequires: pkgconfig(wayland-client) >= 1.11 BuildRequires: pkgconfig(wayland-server) >= 1.11 BuildRequires: pkgconfig(wayland-egl-backend) >= 3 +BuildRequires: pkgconfig(libdisplay-info) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xdamage) >= 1.1 @@ -191,9 +181,6 @@ BuildRequires: flex %if 0%{?with_lmsensors} BuildRequires: lm_sensors-devel %endif -%if 0%{?with_vdpau} -BuildRequires: pkgconfig(vdpau) >= 1.1 -%endif %if 0%{?with_va} BuildRequires: pkgconfig(libva) >= 0.38.0 %endif @@ -248,6 +235,7 @@ Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: mesa-libd3d < %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: mesa-libd3d-devel < %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: mesa-vdpau-drivers < %{?epoch:%{epoch}:}%{version}-%{release} %description filesystem %{summary}. @@ -315,15 +303,6 @@ Obsoletes: %{name}-vaapi-drivers < 22.2.0-5 %{summary}. %endif -%if 0%{?with_vdpau} -%package vdpau-drivers -Summary: Mesa-based VDPAU drivers -Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} - -%description vdpau-drivers -%{summary}. -%endif - %package libgbm Summary: Mesa gbm runtime library Provides: libgbm @@ -430,9 +409,9 @@ path = "src/nouveau/nil/lib.rs" # only direct dependencies need to be listed here [dependencies] -paste = "$(grep ^directory subprojects/paste.wrap | sed 's|.*-||')" -syn = { version = "$(grep ^directory subprojects/syn.wrap | sed 's|.*-||')", features = ["clone-impls"] } -rustc-hash = "$(grep ^directory subprojects/rustc-hash.wrap | sed 's|.*-||')" +paste = "$(grep ^directory subprojects/paste*.wrap | sed 's|.*-||')" +syn = { version = "$(grep ^directory subprojects/syn*.wrap | sed 's|.*-||')", features = ["clone-impls"] } +rustc-hash = "$(grep ^directory subprojects/rustc-hash*.wrap | sed 's|.*-||')" _EOF %if 0%{?vendor_nvk_crates} %cargo_prep -v subprojects/packagecache @@ -503,7 +482,7 @@ export RUSTFLAGS="%build_rustflags" export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/" %endif rewrite_wrap_file() { - sed -e "/source.*/d" -e "s/${1}-.*/$(basename ${MESON_PACKAGE_CACHE_DIR:-subprojects/packagecache}/${1}-*)/" -i subprojects/${1}.wrap + sed -e "/source.*/d" -e "s/^directory = ${1}-.*/directory = $(basename ${MESON_PACKAGE_CACHE_DIR:-subprojects/packagecache}/${1}-*)/" -i subprojects/${1}*.wrap } rewrite_wrap_file proc-macro2 @@ -521,7 +500,6 @@ rewrite_wrap_file rustc-hash %else -Dgallium-drivers=llvmpipe,virgl \ %endif - -Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \ -Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \ -Dgallium-mediafoundation=disabled \ -Dteflon=%{?with_teflon:true}%{!?with_teflon:false} \ @@ -593,9 +571,6 @@ rm -f %{buildroot}%{_libdir}/libLLVMSPIRVLib.so rm -f %{buildroot}%{_libdir}/libLLVMSPIRVLib.so.* rm -f %{buildroot}%{_libdir}/pkgconfig/LLVMSPIRVLib.pc -# libvdpau opens the versioned name, don't bother including the unversioned -rm -vf %{buildroot}%{_libdir}/vdpau/*.so - # likewise glvnd rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so @@ -610,7 +585,7 @@ rm -vf %{buildroot}%{_libdir}/dri/apple_dri.so # glvnd needs a default provider for indirect rendering where it cannot # determine the vendor -ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 +ln -s libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 # this keeps breaking, check it early. note that the exit from eu-ftr is odd. pushd %{buildroot}%{_libdir} @@ -690,7 +665,7 @@ popd %{_libdir}/dri/i915_dri.so %endif %endif -%ifarch aarch64 x86_64 %{ix86} +%ifnarch s390x %if 0%{?with_asahi} %{_libdir}/dri/apple_dri.so %{_libdir}/dri/asahi_dri.so @@ -784,22 +759,6 @@ popd %{_libdir}/dri/virtio_gpu_drv_video.so %endif -%if 0%{?with_vdpau} -%files vdpau-drivers -%dir %{_libdir}/vdpau -%{_libdir}/vdpau/libvdpau_nouveau.so.1* -%if 0%{?with_r600} -%{_libdir}/vdpau/libvdpau_r600.so.1* -%endif -%if 0%{?with_radeonsi} -%{_libdir}/vdpau/libvdpau_radeonsi.so.1* -%endif -%if 0%{?with_d3d12} -%{_libdir}/vdpau/libvdpau_d3d12.so.1* -%endif -%{_libdir}/vdpau/libvdpau_virtio_gpu.so.1* -%endif - %if 0%{?with_d3d12} %files dxil-devel %{_bindir}/spirv2dxil @@ -851,7 +810,6 @@ popd %{_datadir}/vulkan/icd.d/freedreno_icd.*.json %{_libdir}/libvulkan_panfrost.so %{_datadir}/vulkan/icd.d/panfrost_icd.*.json -%{_libdir}/libpowervr_rogue.so %{_libdir}/libvulkan_powervr_mesa.so %{_datadir}/vulkan/icd.d/powervr_mesa_icd.*.json %endif diff --git a/sources b/sources index 46fafb0..c06e379 100644 --- a/sources +++ b/sources @@ -1,10 +1,10 @@ -SHA512 (libclc-21.1.3.src.tar.xz) = daf38b915bcc8065c56a581ccbca90ccc0d41a54489392a2ae6ec3e0a8782ea231bc6edb9624cd879d698074017ee3c1d2b038e388cb75ea08a80ee3e27a57d1 -SHA512 (mesa-25.2.7.tar.xz) = 87dd815e0d11d6ec0eb969ee93d3f376103bb899d90599e0b7902394e41c58139384df79f89633e132ca969348d3320f55308a74651d409b454d51f1bcda27bc +SHA512 (libclc-21.1.8.src.tar.xz) = 920302f31833386cf7ebe995fc5578a764c99a6432ea58d94b55e84b7c0304275010d757a5c1cea76ee5cd73564bf4737960ab249995c5021b3dc4cc4c255922 +SHA512 (mesa-26.1.1.tar.xz) = 384a7db33d2f06e287337329f2f17503082ba6b1cd876a1884e940fdb6193ffae6d6b14344625256f3b3b39972ad697130a4d2ea25c40979f7aa76c2176f7988 SHA512 (meson-1.7.0.tar.gz) = a5d1f00b193ca37ae64f85c9dfc29a2661c167d82d9953b9acd1393b222b05fa5fc03ffdf00fd1ae7a2014da3a7366c35f70bf02e3204e929b74f7b00c17c840 SHA512 (paste-1.0.15.tar.gz) = 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 -SHA512 (proc-macro2-1.0.101.tar.gz) = 3171c807d24371da2931f9c706fb3129bb9bf3ac40418e5d14cfc372baf96e5fee9ede72091163858e3ba0b4f88594efa1031b0bb7128ca68e7b847dead6856c -SHA512 (quote-1.0.40.tar.gz) = 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99 +SHA512 (proc-macro2-1.0.106.tar.gz) = b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744 +SHA512 (quote-1.0.44.tar.gz) = 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d SHA512 (rustc-hash-2.1.1.tar.gz) = 87097d98d47f327d000041ab13acddc366f1500d9c3e5c82169c3358112c7a7c03701c9b3c2c81d9f9da65b7ebac1c479b179dfaf7c059cd0b929b4673e51084 -SHA512 (spirv-llvm-translator-a37544f.tar.gz) = 9e790322beead5fd2934140e8f4870978a860fe03aaffd042ff74578b76f7f404dcd0dbaea1d6ee2a408b477e5de9819910a5b86ce4ba8a018e21b7d60ed5e97 -SHA512 (syn-2.0.106.tar.gz) = e07e1058770fa3f1039eaf335340cefb597c0dd11bb90fec9fa777ca5815d0e0bb1711bb4db52cac77e205dd68fbe2bce0e1aa9895c2a52a1ea6d7758d13424c -SHA512 (unicode-ident-1.0.18.tar.gz) = d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324 +SHA512 (spirv-llvm-translator-114f5ee.tar.gz) = 5e983a5b4a7353448a5ccbf75ab37600e9f2157a1bcc6920e79cd762ffb4d07985ee54d9809f7f97b4495d44d89ccd66bebb67325569e9eef63014230c44bf56 +SHA512 (syn-2.0.115.tar.gz) = 47afe5cd05da90d116e35259b4e3c03236e719ef8f62fbf1d32e4e7e78b454571f9e88e77e86665e815d5dcfe065c75fff987f57ba66942277f8f16fb680ead3 +SHA512 (unicode-ident-1.0.23.tar.gz) = f2e57950b87ab93456a74788c22b8f865fe8864147104507ed40cc87979c0a06007eec17c2c2241cb586b5e9600e5b518059611fde6325c7a3a79265751f8fe0