From b020f743a24de862b8d940956402f6984d10296b Mon Sep 17 00:00:00 2001 From: Rmys Date: Fri, 30 Aug 2024 17:10:57 +0300 Subject: [PATCH] mesa ver. bump --- ...se-CL-vector-types-in-bindings-and-c.patch | 40 +++++++++++++++++++ x11/library/mesa/pspec.xml | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 x11/library/mesa/files/0001-rusticl-do-not-use-CL-vector-types-in-bindings-and-c.patch diff --git a/x11/library/mesa/files/0001-rusticl-do-not-use-CL-vector-types-in-bindings-and-c.patch b/x11/library/mesa/files/0001-rusticl-do-not-use-CL-vector-types-in-bindings-and-c.patch new file mode 100644 index 0000000000..5324add8b5 --- /dev/null +++ b/x11/library/mesa/files/0001-rusticl-do-not-use-CL-vector-types-in-bindings-and-c.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Karol Herbst +Date: Sun, 18 Aug 2024 00:08:50 +0200 +Subject: [PATCH] rusticl: do not use CL vector types in bindings and code + +Bindgen seems to miscompile them and I kinda thought I've done this +already in the past, but apparently not. + +Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11722 +Part-of: +--- + src/gallium/frontends/rusticl/api/device.rs | 2 +- + src/gallium/frontends/rusticl/meson.build | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/gallium/frontends/rusticl/api/device.rs b/src/gallium/frontends/rusticl/api/device.rs +index 7aca92527a4e..c4b2b0bc7423 100644 +--- a/src/gallium/frontends/rusticl/api/device.rs ++++ b/src/gallium/frontends/rusticl/api/device.rs +@@ -196,7 +196,7 @@ impl CLInfo for cl_device_id { + // TODO proper retrival from devices + CL_DEVICE_MEM_BASE_ADDR_ALIGN => cl_prop::(0x1000), + CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE => { +- cl_prop::(size_of::() as cl_uint) ++ cl_prop::(16 * size_of::() as cl_uint) + } + CL_DEVICE_NAME => cl_prop::<&str>(&dev.screen().name()), + CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR => cl_prop::(1), +diff --git a/src/gallium/frontends/rusticl/meson.build b/src/gallium/frontends/rusticl/meson.build +index 9cf603c6a6d4..459b94cf17a1 100644 +--- a/src/gallium/frontends/rusticl/meson.build ++++ b/src/gallium/frontends/rusticl/meson.build +@@ -157,6 +157,7 @@ rusticl_opencl_bindings_rs = rust.bindgen( + '--raw-line', 'unsafe impl std::marker::Send for _cl_image_desc {}', + '--raw-line', 'unsafe impl std::marker::Sync for _cl_image_desc {}', + '--allowlist-type', 'cl_.*', ++ '--blocklist-type', '(__)?cl_.*[2348(16)]', + '--allowlist-type', 'cl.*_fn', + '--allowlist-var', 'CL_.*', + # needed for gl_sharing extension diff --git a/x11/library/mesa/pspec.xml b/x11/library/mesa/pspec.xml index 2ac1acc875..d9a0954af8 100644 --- a/x11/library/mesa/pspec.xml +++ b/x11/library/mesa/pspec.xml @@ -77,7 +77,7 @@ crossfile.ini - + 0001-rusticl-do-not-use-CL-vector-types-in-bindings-and-c.patch