diff --git a/hyprland.changes b/hyprland.changes index a0b8599..3e4ef21 100644 --- a/hyprland.changes +++ b/hyprland.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Feb 24 17:26:55 UTC 2023 - Florian "spirit" + +- Added: wlroots_fix_ia86.patch. This allows compiling hyprland on + ia86 again. Can be dropped once hyprland updates wlroots to any + commit that has 59acc697 in it's history. + ------------------------------------------------------------------- Tue Feb 21 00:13:30 UTC 2023 - Florian "spirit" diff --git a/hyprland.spec b/hyprland.spec index 5d7f1b4..a408ec3 100644 --- a/hyprland.spec +++ b/hyprland.spec @@ -2,7 +2,7 @@ # spec file for package hyprland # # Copyright (c) 2022 SUSE LLC -# Copyright (c) 2022 Florian "sp1rit" +# Copyright (c) 2022/23 Florian "sp1rit" # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,6 +24,7 @@ Summary: Dynamic tiling Wayland compositor License: BSD-3-Clause URL: https://hyprland.org/ Source0: %{name}-%{version}.tar.xz +Patch100: wlroots_fix_ia86.patch BuildRequires: gcc-c++ >= 11 BuildRequires: git BuildRequires: glslang-devel @@ -69,7 +70,8 @@ It supports multiple layouts, fancy effects, has a very flexible IPC model allowing for a lot of customization, and more. %prep -%autosetup -p1 +%autosetup -p1 -N +%patch100 -p1 -d subprojects/wlroots/ %build %meson \ diff --git a/wlroots_fix_ia86.patch b/wlroots_fix_ia86.patch new file mode 100644 index 0000000..0f0c577 --- /dev/null +++ b/wlroots_fix_ia86.patch @@ -0,0 +1,48 @@ +From 59acc69737488be7c8c68b00a7a7d97027c7e20e Mon Sep 17 00:00:00 2001 +From: Jan Beich +Date: Fri, 24 Feb 2023 16:15:37 +0000 +Subject: [PATCH] vulkan: silence -Wint-conversion on 32-bit architectures + +render/vulkan/renderer.c:388:70: error: incompatible pointer to integer conversion passing 'void *' to parameter of type 'VkFence' (aka 'unsigned long long') [-Werror,-Wint-conversion] + VkResult res = vkQueueSubmit(renderer->dev->queue, 1, &submit_info, NULL); + ^~~~ +render/vulkan/renderer.c:1141:81: error: incompatible pointer to integer conversion passing 'void *' to parameter of type 'VkFence' (aka 'unsigned long long') [-Werror,-Wint-conversion] + VkResult res = vkQueueSubmit(renderer->dev->queue, submit_count, submit_infos, NULL); + ^~~~ +/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL' + #define NULL ((void *)0) + ^~~~~~~~~~~ +/usr/local/include/vulkan/vulkan_core.h:4054:49: note: passing argument to parameter 'fence' here + VkFence fence); + ^ + +Fixes: a8a194d695af ("render/vulkan: switch to timeline semaphores") +--- + render/vulkan/renderer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c +index fe7162407..4e326c69b 100644 +--- a/render/vulkan/renderer.c ++++ b/render/vulkan/renderer.c +@@ -385,7 +385,7 @@ bool vulkan_submit_stage_wait(struct wlr_vk_renderer *renderer) { + .signalSemaphoreCount = 1, + .pSignalSemaphores = &renderer->timeline_semaphore, + }; +- VkResult res = vkQueueSubmit(renderer->dev->queue, 1, &submit_info, NULL); ++ VkResult res = vkQueueSubmit(renderer->dev->queue, 1, &submit_info, VK_NULL_HANDLE); + if (res != VK_SUCCESS) { + wlr_vk_error("vkQueueSubmit", res); + return false; +@@ -1138,7 +1138,7 @@ static void vulkan_end(struct wlr_renderer *wlr_renderer) { + }; + + uint32_t submit_count = sizeof(submit_infos) / sizeof(submit_infos[0]); +- VkResult res = vkQueueSubmit(renderer->dev->queue, submit_count, submit_infos, NULL); ++ VkResult res = vkQueueSubmit(renderer->dev->queue, submit_count, submit_infos, VK_NULL_HANDLE); + if (res == VK_ERROR_DEVICE_LOST) { + wlr_log(WLR_ERROR, "vkQueueSubmit failed with VK_ERROR_DEVICE_LOST"); + wl_signal_emit_mutable(&wlr_renderer->events.lost, NULL); +-- +GitLab +