From 9fe2a21e939d70d5f2ba921b609e3029e3d70fd5 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 26 May 2025 21:59:31 -0400 Subject: [PATCH] nvk: Allocate the correct VAB size on Kepler We were allocating 128 KiB but claimed 256 KiB. Allocate the right size and assert that the size matches. Fixes: 970bd7058461 ("nvk: allocate VAB memory area") Part-of: --- src/nouveau/vulkan/nvk_cmd_draw.c | 1 + src/nouveau/vulkan/nvk_device.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index e0aa97b8391..3fac450e999 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -576,6 +576,7 @@ nvk_push_draw_state_init(struct nvk_queue *queue, struct nv_push *p) P_MTHD(p, NV9097, SET_VAB_MEMORY_AREA_A); P_NV9097_SET_VAB_MEMORY_AREA_A(p, vab_addr >> 32); P_NV9097_SET_VAB_MEMORY_AREA_B(p, vab_addr); + assert(dev->vab_memory->va->size_B == 256 * 1024); P_NV9097_SET_VAB_MEMORY_AREA_C(p, SIZE_BYTES_256K); } diff --git a/src/nouveau/vulkan/nvk_device.c b/src/nouveau/vulkan/nvk_device.c index bd4b06d1b9d..fb338ed2d4d 100644 --- a/src/nouveau/vulkan/nvk_device.c +++ b/src/nouveau/vulkan/nvk_device.c @@ -243,7 +243,7 @@ nvk_CreateDevice(VkPhysicalDevice physicalDevice, pdev->info.cls_eng3d < MAXWELL_A) { /* max size is 256k */ result = nvkmd_dev_alloc_mem(dev->nvkmd, &pdev->vk.base, - 1 << 17, 1 << 20, NVKMD_MEM_LOCAL, + 256 * 1024, 0, NVKMD_MEM_LOCAL, &dev->vab_memory); if (result != VK_SUCCESS) goto fail_slm;