Commit 05f2dcfdb for llama.cpp

commit 05f2dcfdba3879c55f735efa0f124b1a56f7ed11
Author: Abir Deol <abir.deol2006@gmail.com>
Date:   Wed Sep 16 22:14:33 2026 -0700

     vulkan: fix buffer_reference alignment in im2col shaders (#28996)

    Both im2col.comp and im2col_3d.comp declare D_ptr without an explicit
      buffer_reference_align, so glslang emits writes through it as Aligned
      16. The shaders advance the pointer by D_SIZE, a per-variant define
      set to 4 for float and 2 for float16_t, so most write addresses are
      not 16-byte aligned. This triggers
      VUID-RuntimeSpirv-PhysicalStorageBuffer64-06315 under GPU-AV.

      Declaring buffer_reference_align = D_SIZE matches the alignment to the
      actual write stride and takes validation hits from 20 to 0 for both
      IM2COL and IM2COL_3D.

      Fixes #28960

diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/im2col.comp b/ggml/src/ggml-vulkan/vulkan-shaders/im2col.comp
index f4130d223..ea77a3d7a 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/im2col.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/im2col.comp
@@ -31,7 +31,7 @@ layout (binding = 0) readonly buffer X {A_TYPE data_a[];};
 layout (binding = 1) writeonly buffer D {D_TYPE data_d[];};

 #if BDA
-layout (buffer_reference) buffer D_ptr {D_TYPE d;};
+layout (buffer_reference, buffer_reference_align = D_SIZE) buffer D_ptr {D_TYPE d;};
 #endif

 void im2col(const uint ow, const uint z_idx) {
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/im2col_3d.comp b/ggml/src/ggml-vulkan/vulkan-shaders/im2col_3d.comp
index 93f61fd85..64ae7e4fd 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/im2col_3d.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/im2col_3d.comp
@@ -50,7 +50,7 @@ layout (binding = 0) readonly buffer X {A_TYPE data_a[];};
 layout (binding = 1) writeonly buffer D {D_TYPE data_d[];};

 #if BDA
-layout (buffer_reference) buffer D_ptr {D_TYPE d;};
+layout (buffer_reference, buffer_reference_align = D_SIZE) buffer D_ptr {D_TYPE d;};
 #endif

 void main() {