diff --git a/crates/coremem/src/sim/spirv/gpu.rs b/crates/coremem/src/sim/spirv/gpu.rs index 213e9c1..e392e79 100644 --- a/crates/coremem/src/sim/spirv/gpu.rs +++ b/crates/coremem/src/sim/spirv/gpu.rs @@ -59,7 +59,7 @@ where pub(super) fn step_spirv(&mut self, num_steps: u32, stim: &S) { let size = self.size(); let (stim_cpu_e, stim_cpu_h) = self.eval_stimulus(stim); - let field_bytes = size.product_sum() * 12; + let field_bytes = size.product_sum() as usize * std::mem::size_of::>(); let sim_meta = [self.meta.clone()]; @@ -202,7 +202,7 @@ where 0, &e_readback_buffer, 0, - field_bytes as _, + field_bytes as u64, ); encoder.copy_buffer_to_buffer( @@ -210,7 +210,7 @@ where 0, &h_readback_buffer, 0, - field_bytes as _, + field_bytes as u64, ); encoder.copy_buffer_to_buffer( @@ -218,7 +218,7 @@ where 0, &m_readback_buffer, 0, - field_bytes as _, + field_bytes as u64, ); queue.submit(Some(encoder.finish()));