From 4ae9ee7a2cdc208e137847fbd1999dc57f8ff4eb Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Thu, 1 Aug 2024 12:45:41 +0200 Subject: [PATCH] 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 Reviewed-by: Christian Gmeiner Tested-by: Christian Gmeiner Part-of: --- src/gallium/frontends/rusticl/core/kernel.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/frontends/rusticl/core/kernel.rs b/src/gallium/frontends/rusticl/core/kernel.rs index 4ca95bd041f..29725d34468 100644 --- a/src/gallium/frontends/rusticl/core/kernel.rs +++ b/src/gallium/frontends/rusticl/core/kernel.rs @@ -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::(), + 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::(), + size: (3 * dev.address_bits() / 8) as usize, }); lower_state.base_workgroup_id_loc = args.len() + internal_args.len() - 1; nir.add_var(