rusticl/kernel: emit system values with the correct device size

Those are sized according to the size_t on the device.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Tested-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30467>
This commit is contained in:
Karol Herbst 2024-08-01 12:45:41 +02:00 committed by Marge Bot
parent 14ea102175
commit 4ae9ee7a2c

View file

@ -22,7 +22,6 @@ use spirv::SpirvKernelInfo;
use std::cmp;
use std::collections::HashMap;
use std::convert::TryInto;
use std::mem::size_of;
use std::os::raw::c_void;
use std::ptr;
use std::slice;
@ -636,7 +635,7 @@ fn lower_and_optimize_nir(
internal_args.push(InternalKernelArg {
kind: InternalKernelArgType::GlobalWorkOffsets,
offset: 0,
size: 3 * size_of::<usize>(),
size: (3 * dev.address_bits() / 8) as usize,
});
lower_state.base_global_invoc_id_loc = args.len() + internal_args.len() - 1;
nir.add_var(
@ -651,7 +650,7 @@ fn lower_and_optimize_nir(
internal_args.push(InternalKernelArg {
kind: InternalKernelArgType::WorkGroupOffsets,
offset: 0,
size: 3 * size_of::<usize>(),
size: (3 * dev.address_bits() / 8) as usize,
});
lower_state.base_workgroup_id_loc = args.len() + internal_args.len() - 1;
nir.add_var(