From 50a312ef240ccb7d7b93aa3f655f382ea05b1994 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 15 Apr 2025 07:07:40 +1000 Subject: [PATCH] nvk: Add hopper shared memory window alignment This changes to need 4GB alignment on hopper and later. Reviewed-by: Mel Henning Part-of: --- src/nouveau/vulkan/nvk_cmd_dispatch.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/nouveau/vulkan/nvk_cmd_dispatch.c b/src/nouveau/vulkan/nvk_cmd_dispatch.c index 45150e779c3..e69417c435a 100644 --- a/src/nouveau/vulkan/nvk_cmd_dispatch.c +++ b/src/nouveau/vulkan/nvk_cmd_dispatch.c @@ -60,7 +60,14 @@ nvk_push_dispatch_state_init(struct nvk_queue *queue, struct nv_push *p) * * Really?!? TODO: Fix this for realz. */ - uint64_t temp = 0xfeULL << 24; + uint64_t temp; + + /* shared memory window needs 4GB alignment on hopper+ */ + if (pdev->info.cls_compute >= HOPPER_COMPUTE_A) + temp = 1ULL << 32; + else + temp = 0xfeULL << 24; + P_MTHD(p, NVC3C0, SET_SHADER_SHARED_MEMORY_WINDOW_A); P_NVC3C0_SET_SHADER_SHARED_MEMORY_WINDOW_A(p, temp >> 32); P_NVC3C0_SET_SHADER_SHARED_MEMORY_WINDOW_B(p, temp & 0xffffffff);