From 70083d51576ad36e57540b100831d776415f55c6 Mon Sep 17 00:00:00 2001 From: David Belanger Date: Thu, 30 May 2024 12:55:20 -0400 Subject: [PATCH] Update CopyOnSignal shader for GFX12 Minor instructions changes for GFX12. Change-Id: I78a37fa37950b378cdd2a1618c71c97c6ba66aac Signed-off-by: David Belanger Signed-off-by: Chris Freehill [ROCm/ROCR-Runtime commit: 39f4fbee106a4bc19b0e4e75ce7b733ac94ceae2] --- .../tests/kfdtest/src/ShaderStore.cpp | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/ShaderStore.cpp b/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/ShaderStore.cpp index 6c6448cec9..5baaa79755 100644 --- a/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/ShaderStore.cpp +++ b/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/ShaderStore.cpp @@ -299,19 +299,38 @@ const char *CopyOnSignalIsa = .else s_mov_b32 s18, 0xcafe .endif - POLLSIGNAL: - s_load_dword s16, s[0:1], 0x0 glc - s_cmp_eq_i32 s16, s18 - s_cbranch_scc0 POLLSIGNAL - s_load_dword s17, s[0:1], 0x4 glc - s_waitcnt vmcnt(0) & lgkmcnt(0) - .if (.amdgcn.gfx_generation_number >= 10) + + .if (.amdgcn.gfx_generation_number >= 12) + + POLLSIGNAL: + s_load_dword s16, s[0:1], 0x0 scope:SCOPE_CU + s_cmp_eq_i32 s16, s18 + s_cbranch_scc0 POLLSIGNAL + + s_load_dword s17, s[0:1], 0x4 scope:SCOPE_CU + s_wait_kmcnt 0 v_mov_b32 v2, s17 - flat_store_dword v[4:5], v2 glc + flat_store_dword v[4:5], v2 scope:SCOPE_CU + s_wait_storecnt 0 + .else - s_store_dword s17, s[0:1], 0x8 glc + + POLLSIGNAL: + s_load_dword s16, s[0:1], 0x0 glc + s_cmp_eq_i32 s16, s18 + s_cbranch_scc0 POLLSIGNAL + + s_load_dword s17, s[0:1], 0x4 glc + s_waitcnt vmcnt(0) & lgkmcnt(0) + .if (.amdgcn.gfx_generation_number >= 10) + v_mov_b32 v2, s17 + flat_store_dword v[4:5], v2 glc + .else + s_store_dword s17, s[0:1], 0x8 glc + .endif + s_waitcnt vmcnt(0) & lgkmcnt(0) + .endif - s_waitcnt vmcnt(0) & lgkmcnt(0) s_endpgm )";