nak/hw_runner: support shared memory

Reviewed-by: Mary Guillemard <mary@mary.zone>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36363>
This commit is contained in:
Karol Herbst 2025-05-08 09:56:10 +02:00
parent 0e1761ccbe
commit ad8df8407e
2 changed files with 8 additions and 2 deletions

View file

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

View file

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