From 6406ffb2ffba634aef1fa49f9cc9693a26516be8 Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Sat, 8 May 2021 11:42:53 +0200 Subject: [PATCH] fix zink compilation on x32 --- Mesa.spec | 2 ++ zink_x32.patch | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 zink_x32.patch diff --git a/Mesa.spec b/Mesa.spec index 19b1d2a..0304768 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -78,6 +78,7 @@ Group: X11/Libraries Source0: https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-%{version}/mesa-mesa-%{version}.tar.bz2 # Source0-md5: 7482dd659c3708bdda247c96449d9d79 Patch0: nouveau_no_rtti.patch +Patch1: zink_x32.patch URL: http://www.mesa3d.org/ %{?with_opencl_spirv:BuildRequires: SPIRV-LLVM-Translator-devel >= 8.0.1.3} %{?with_gallium_zink:BuildRequires: Vulkan-Loader-devel} @@ -1431,6 +1432,7 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD. %prep %setup -q -n mesa-mesa-%{version} %patch0 -p1 +%patch1 -p1 %build %if %{with opencl} diff --git a/zink_x32.patch b/zink_x32.patch new file mode 100644 index 0000000..1de334d --- /dev/null +++ b/zink_x32.patch @@ -0,0 +1,29 @@ +--- mesa-mesa-21.1.0/src/gallium/drivers/zink/zink_framebuffer.c.orig 2021-05-05 19:05:43.000000000 +0200 ++++ mesa-mesa-21.1.0/src/gallium/drivers/zink/zink_framebuffer.c 2021-05-08 11:40:04.291968475 +0200 +@@ -64,7 +64,7 @@ + struct zink_framebuffer *fb) + { + hash_table_foreach(&fb->objects, he) { +-#if defined(_WIN64) || defined(__x86_64__) ++#if defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__)) + vkDestroyFramebuffer(screen->dev, he->data, NULL); + #else + VkFramebuffer *ptr = he->data; +@@ -89,7 +89,7 @@ + + struct hash_entry *he = _mesa_hash_table_search_pre_hashed(&fb->objects, hash, rp); + if (he) { +-#if defined(_WIN64) || defined(__x86_64__) ++#if defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__)) + ret = (VkFramebuffer)he->data; + #else + VkFramebuffer *ptr = he->data; +@@ -109,7 +109,7 @@ + + if (vkCreateFramebuffer(screen->dev, &fci, NULL, &ret) != VK_SUCCESS) + return; +-#if defined(_WIN64) || defined(__x86_64__) ++#if defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__)) + _mesa_hash_table_insert_pre_hashed(&fb->objects, hash, rp, ret); + #else + VkFramebuffer *ptr = ralloc(fb, VkFramebuffer); -- 2.43.0