From 93e96da9458c9d0348f2390dc0bea67cf140b1a0 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 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 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 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