The llama.cpp project released build b10078, which includes a significant refactor of the Vulkan backend to improve synchronization efficiency. The update integrates support for VK_KHR_internally_synchronized_queues, allowing the library to abstract queue submission into a polymorphic interface that completely bypasses host-side mutex locking when the driver supports it.

  • Refactors vk_queue to use per-instance mutexes and unique handles for exclusive ownership.
  • Integrates VK_KHR_internally_synchronized_queues to bypass host-side mutex locking when supported by the driver.
  • Adds fallback defines and static constexpr constants for internallySynchronizedQueues detection.
  • Fixes compilation errors, duplicate pNext chains, and null checks in the vk_device_struct destructor.

This change optimizes lifetime management and thread safety while reducing redundant API calls during device creation.