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>
(cherry picked from commit 93e96da945)
This commit is contained in:
Karol Herbst 2024-08-18 00:08:50 +02:00 committed by Eric Engestrom
parent da902ab655
commit 3b938aa4cd
3 changed files with 3 additions and 2 deletions

View file

@ -12474,7 +12474,7 @@
"description": "rusticl: do not use CL vector types in bindings and code",
"nominated": false,
"nomination_type": 3,
"resolution": 4,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -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),

View file

@ -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