From e378a7d773c9221f79441b842410706e8617da79 Mon Sep 17 00:00:00 2001 From: Jose Maria Casanova Crespo Date: Wed, 22 Apr 2026 16:46:07 +0200 Subject: [PATCH] v3dv: bump maxComputeSharedMemorySize to 32 KB Currently local shared memory is backed by a BO that is read/written using the TMU. ggml-vulkan probes the size of maxComputeSharedMemorySize and rejects V3DV (falling back to CPU) when the value is below what its larger compute pipelines request, although in the end the shaders ollama runs don't actually use shared memory. 32 KB is what ggml-vulkan demands; the value can grow further with no real per-op cost since shared memory currently goes through the TMU like any other BO. V3D OpenGL driver also has 32 KB for SharedMemory. Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/vulkan/v3dv_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index d52cdeca275..b9180486136 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -1020,7 +1020,7 @@ get_device_properties(const struct v3dv_physical_device *device, MAX_STORAGE_IMAGES, /* Compute limits */ - .maxComputeSharedMemorySize = 16384, + .maxComputeSharedMemorySize = 32u * 1024u, .maxComputeWorkGroupCount = { 65535, 65535, 65535 }, .maxComputeWorkGroupInvocations = 256, .maxComputeWorkGroupSize = { 256, 256, 256 },