summaryrefslogtreecommitdiffstats
path: root/source/x/mesa/patches/30710.patch
blob: fb01363b10a2da2d276706bc43062e3dd5e93b8b (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From 93e96da9458c9d0348f2390dc0bea67cf140b1a0 Mon Sep 17 00:00:00 2001
From: Karol Herbst <kherbst@redhat.com>
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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30710>
---
 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 9793092db5ad4..c1cb7902e0371 100644
--- a/src/gallium/frontends/rusticl/api/device.rs
+++ b/src/gallium/frontends/rusticl/api/device.rs
@@ -196,7 +196,7 @@ impl CLInfo<cl_device_info> for cl_device_id {
             // TODO proper retrival from devices
             CL_DEVICE_MEM_BASE_ADDR_ALIGN => cl_prop::<cl_uint>(0x1000),
             CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE => {
-                cl_prop::<cl_uint>(size_of::<cl_ulong16>() as cl_uint)
+                cl_prop::<cl_uint>(16 * size_of::<cl_ulong>() as cl_uint)
             }
             CL_DEVICE_NAME => cl_prop::<&str>(&dev.screen().name()),
             CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR => cl_prop::<cl_uint>(1),
diff --git a/src/gallium/frontends/rusticl/meson.build b/src/gallium/frontends/rusticl/meson.build
index 612e47bfe88e1..1fe75a611444d 100644
--- a/src/gallium/frontends/rusticl/meson.build
+++ b/src/gallium/frontends/rusticl/meson.build
@@ -146,6 +146,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
-- 
GitLab