diff --git a/src/nouveau/compiler/nak/hw_runner.rs b/src/nouveau/compiler/nak/hw_runner.rs index 73ee79b1cd4..a21cdc3e5be 100644 --- a/src/nouveau/compiler/nak/hw_runner.rs +++ b/src/nouveau/compiler/nak/hw_runner.rs @@ -496,7 +496,7 @@ impl<'a> Runner { } else { shader_addr }, - smem_size: 0, + smem_size: unsafe { shader.info.__bindgen_anon_1.cs }.smem_size, smem_max: 48 * 1024, global_size: [invocations.div_ceil(local_size.into()), 1, 1], num_cbufs: 1, diff --git a/src/nouveau/compiler/nak/hw_tests.rs b/src/nouveau/compiler/nak/hw_tests.rs index d6075c03c75..be0477a584d 100644 --- a/src/nouveau/compiler/nak/hw_tests.rs +++ b/src/nouveau/compiler/nak/hw_tests.rs @@ -60,6 +60,7 @@ pub struct TestShaderBuilder<'a> { start_block: BasicBlock, label: Label, data_addr: SSARef, + shared_size: u16, } impl<'a> TestShaderBuilder<'a> { @@ -140,9 +141,14 @@ impl<'a> TestShaderBuilder<'a> { start_block, label: label_alloc.alloc(), data_addr, + shared_size: 0, } } + pub fn set_shared_size(&mut self, shared_size: u16) { + self.shared_size = shared_size; + } + pub fn ld_test_data(&mut self, offset: u16, mem_type: MemType) -> SSARef { let access = MemAccess { mem_type: mem_type, @@ -204,7 +210,7 @@ impl<'a> TestShaderBuilder<'a> { let cs_info = ComputeShaderInfo { local_size: [32, 1, 1], - smem_size: 0, + smem_size: self.shared_size, }; let info = ShaderInfo { max_warps_per_sm: 0,