diff --git a/contrib/src/libplacebo/0004-vulkan-utils_gen-try-to-locate-the-vulkan-registry-i.patch b/contrib/src/libplacebo/0004-vulkan-utils_gen-try-to-locate-the-vulkan-registry-i.patch
deleted file mode 100644
index 50a18152064ceb5f796a5930bc60afda115b9d58..0000000000000000000000000000000000000000
--- a/contrib/src/libplacebo/0004-vulkan-utils_gen-try-to-locate-the-vulkan-registry-i.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5acce05c63c7b0f4a952d1258153da283b95bf8a Mon Sep 17 00:00:00 2001
-From: Steve Lhomme <robux4@ycbcr.xyz>
-Date: Fri, 12 Apr 2024 08:12:45 +0200
-Subject: [PATCH 4/4] vulkan/utils_gen: try to locate the vulkan registry in
- the Android NDK
-
----
- src/vulkan/utils_gen.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/vulkan/utils_gen.py b/src/vulkan/utils_gen.py
-index 4bbe185b..4fe4a2d6 100644
---- a/src/vulkan/utils_gen.py
-+++ b/src/vulkan/utils_gen.py
-@@ -215,6 +215,7 @@ def find_registry_xml(datadir):
-         '$MINGW_PREFIX/share/vulkan/registry/vk.xml',
-         '%VULKAN_SDK%/share/vulkan/registry/vk.xml',
-         '$VULKAN_SDK/share/vulkan/registry/vk.xml',
-+        '$ANDROID_NDK/sources/third_party/vulkan/src/registry/vk.xml',
-         '/usr/share/vulkan/registry/vk.xml',
-     ]
- 
--- 
-2.37.3.windows.1
-
diff --git a/contrib/src/libplacebo/rules.mak b/contrib/src/libplacebo/rules.mak
index 435fd6852ac883b6df740d4801681ad613f79b64..ed0b376f37758d56e2ccc2d5a92574989b399f45 100644
--- a/contrib/src/libplacebo/rules.mak
+++ b/contrib/src/libplacebo/rules.mak
@@ -40,7 +40,6 @@ libplacebo: $(PLACEBO_ARCHIVE) .sum-libplacebo
 	$(APPLY) $(SRC)/libplacebo/0001-vulkan-meson-add-the-clang-gcc-C-runtime.patch
 	$(APPLY) $(SRC)/libplacebo/0001-meson-allow-overriding-python3-path.patch
 	$(APPLY) $(SRC)/libplacebo/0001-meson-allow-forcing-the-path-to-look-for-libraries.patch
-	$(APPLY) $(SRC)/libplacebo/0004-vulkan-utils_gen-try-to-locate-the-vulkan-registry-i.patch
 	$(MOVE)
 
 .libplacebo: libplacebo crossfile.meson .python-venv
diff --git a/contrib/src/vulkan-headers/SHA512SUMS b/contrib/src/vulkan-headers/SHA512SUMS
index 63b20b498e5ceb2cae6a1e43b2447e1809332b8e..efaa157ea7624abc85ec6a7cefd728ccbddf7ab8 100644
--- a/contrib/src/vulkan-headers/SHA512SUMS
+++ b/contrib/src/vulkan-headers/SHA512SUMS
@@ -1 +1 @@
-b6f4459a55a7a0f83a17f9155cf201f4e832bde45a127efbfb0e1e5805fb813249e8ccb00b81285ff26fffed1fe0f33b14cdf41515c2b649204de54284e7bc60  Vulkan-Headers-1.3.219.tar.gz
+adebfc61501e67367d366a8b17833d064f925ada6480641ef3c128bbda3852087e02d67a09e90b2c188a47494b7e47a87db0d039465858e765e89dc6c2b370d7  Vulkan-Headers-1.3.275.tar.gz
diff --git a/contrib/src/vulkan-headers/rules.mak b/contrib/src/vulkan-headers/rules.mak
index 3ae593c28ad04ac10e62ab59177cd8f33d7a4a81..49383c2cb05dcacbb62bafcf82d1af11dfe22f44 100644
--- a/contrib/src/vulkan-headers/rules.mak
+++ b/contrib/src/vulkan-headers/rules.mak
@@ -1,4 +1,4 @@
-VULKAN_HEADERS_VERSION := 1.3.219
+VULKAN_HEADERS_VERSION := 1.3.275
 VULKAN_HEADERS_URL := $(GITHUB)/KhronosGroup/Vulkan-Headers/archive/v$(VULKAN_HEADERS_VERSION).tar.gz
 
 DEPS_vulkan-headers =
@@ -22,9 +22,11 @@ define VULKAN_HEADERS_CHECK :=
 endef
 
 PKGS += vulkan-headers
+ifndef HAVE_ANDROID # in NDK27 vk.xml is not available anymore, we need to install our own
 ifneq ($(call cppcheck, VULKAN_HEADERS_OK, $(VULKAN_HEADERS_CHECK)),)
 PKGS_FOUND += vulkan-headers
 endif
+endif
 
 $(TARBALLS)/Vulkan-Headers-$(VULKAN_HEADERS_VERSION).tar.gz:
 	$(call download_pkg,$(VULKAN_HEADERS_URL),vulkan-headers)
diff --git a/contrib/src/vulkan-loader/0003-fix-libunwind-usage-when-static-linking.patch b/contrib/src/vulkan-loader/0003-fix-libunwind-usage-when-static-linking.patch
index 6dcc4a0c808d4533247406e1d5a2edabf80512b2..8a4d6daeeda6326a5c0139f3b76f40a4d65cb1b2 100644
--- a/contrib/src/vulkan-loader/0003-fix-libunwind-usage-when-static-linking.patch
+++ b/contrib/src/vulkan-loader/0003-fix-libunwind-usage-when-static-linking.patch
@@ -1,24 +1,25 @@
-From c2b51b82c5dc3e62dc6bc9778261555a2ebdd67d Mon Sep 17 00:00:00 2001
+From ab6edca6a93be813f52108489a4a690e44bb8dab Mon Sep 17 00:00:00 2001
 From: Steve Lhomme <robux4@ycbcr.xyz>
 Date: Thu, 17 Oct 2024 11:56:18 +0200
-Subject: [PATCH 3/3] fix libunwind usage when static linking
+Subject: [PATCH 2/2] fix libunwind usage when static linking
 
 It ends up with
 - set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "atomic;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl")
 - set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "windowsapp;windowsapp;ucrt;windowsapp;ucrtapp;c++;mingw32;-l:libunwind.a;moldname;mingwex;mingw32;-l:libunwind.a;moldname;mingwex")
 ---
- loader/CMakeLists.txt | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
+ loader/CMakeLists.txt | 14 ++++++++++++++
+ loader/vulkan.pc.in   |  1 +
+ 2 files changed, 15 insertions(+)
 
 diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index b29c81a8d..cd5a6a441 100644
+index 3d8aa6c62..14ddcf326 100644
 --- a/loader/CMakeLists.txt
 +++ b/loader/CMakeLists.txt
-@@ -335,7 +335,18 @@ include(FindPkgConfig QUIET)
- if(PKG_CONFIG_FOUND)
-     set(VK_API_VERSION "${LOADER_GENERATED_HEADER_VERSION}")
-     foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
--        set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
+@@ -498,6 +498,20 @@ install(FILES "${version_config}" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Vulk
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/22621
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
++    foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
 +        if(IS_ABSOLUTE ${LIB} AND EXISTS ${LIB})
 +            set(PRIVATE_LIBS "${PRIVATE_LIBS} ${LIB}")
 +        elseif(${LIB} MATCHES "-l:lib.*.a")
@@ -31,9 +32,20 @@ index b29c81a8d..cd5a6a441 100644
 +        else()
 +            set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
 +        endif()
-     endforeach()
-     if(MSVC)
-         set(VULKAN_LIB_SUFFIX "-1")
++    endforeach()
+     if(WIN32)
+         if(MINGW)
+             set(VULKAN_LIB_SUFFIX "-1.dll")
+diff --git a/loader/vulkan.pc.in b/loader/vulkan.pc.in
+index 6a285f267..ab35414ba 100644
+--- a/loader/vulkan.pc.in
++++ b/loader/vulkan.pc.in
+@@ -7,4 +7,5 @@ Name: Vulkan-Loader
+ Description: Vulkan Loader
+ Version: @VULKAN_LOADER_VERSION@
+ Libs: -L${libdir} -lvulkan@VULKAN_LIB_SUFFIX@
++Libs.private: @PRIVATE_LIBS@
+ Cflags: -I${includedir}
 -- 
 2.45.0.windows.1
 
diff --git a/contrib/src/vulkan-loader/002-proper-def-files-for-32bit.patch b/contrib/src/vulkan-loader/002-proper-def-files-for-32bit.patch
deleted file mode 100644
index 5651199dee7bac4680571d08c8ff4f6bfd2251cc..0000000000000000000000000000000000000000
--- a/contrib/src/vulkan-loader/002-proper-def-files-for-32bit.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 56ce783d2cad375cb29f19be43b5dda7061ded3c Mon Sep 17 00:00:00 2001
-From: Alexey Pavlov <alexpux@gmail.com>
-Date: Fri, 8 Nov 2019 07:40:41 +0100
-Subject: [PATCH 1/3] proper def files for 32bit
-
----
- loader/CMakeLists.txt       | 15 +++++++++++++--
- loader/vk_loader_platform.h |  8 +++++++-
- loader/vulkan-1.def         |  2 +-
- 3 files changed, 21 insertions(+), 4 deletions(-)
-
-diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index d1606f549..0552c5bdd 100644
---- a/loader/CMakeLists.txt
-+++ b/loader/CMakeLists.txt
-@@ -127,7 +127,7 @@ set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG}Note that this may be unsafe, as the C co
- set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} the stack frame for certain calls. If the compiler does not do this, then unknown device")
- set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} extensions will suffer from a corrupted stack.")
- if(WIN32)
--    if(MINGW)
-+    if(NOT MINGW)
-         find_program(JWASM_FOUND jwasm)
-         if (JWASM_FOUND)
-             set(CMAKE_ASM_MASM_COMPILER ${JWASM_FOUND})
-@@ -145,7 +145,7 @@ if(WIN32)
-     if (USE_MASM)
-       enable_language(ASM_MASM)
-     endif ()
--    if(CMAKE_ASM_MASM_COMPILER_WORKS OR JWASM_FOUND)
-+    if(MSVC AND CMAKE_ASM_MASM_COMPILER_WORKS OR JWASM_FOUND)
-         if(MINGW)
-             set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} ${JWASM_FLAGS})
-         elseif(NOT CMAKE_CL_64 AND NOT JWASM_FOUND)
-@@ -161,12 +161,14 @@ if(WIN32)
-         target_link_libraries(loader-unknown-chain Vulkan::Headers)
-         target_include_directories(loader-unknown-chain PUBLIC $<TARGET_PROPERTY:loader_asm_gen_files,BINARY_DIR>)
-         add_dependencies(loader-unknown-chain loader_asm_gen_files)
-+        set_target_properties(loader-unknown-chain PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL")
-     else()
-         message(WARNING "Could not find working MASM assebler\n${ASM_FAILURE_MSG}")
-         add_custom_target(loader_asm_gen_files)
-         add_library(loader-unknown-chain OBJECT unknown_ext_chain.c)
-         target_link_libraries(loader-unknown-chain loader_specific_options)
-         set_target_properties(loader-unknown-chain PROPERTIES CMAKE_C_FLAGS_DEBUG "${MODIFIED_C_FLAGS_DEBUG}")
-+        set_target_properties(loader-unknown-chain PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL")
-     endif()
- elseif(APPLE)
-     # For MacOS, use the C code and force the compiler's tail-call optimization instead of using assembly code.
-@@ -217,6 +219,7 @@ endif()
- 
- if(WIN32)
-     add_library(loader-opt STATIC ${OPT_LOADER_SRCS})
-+    set_target_properties(loader-opt PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL")
-     target_link_libraries(loader-opt PUBLIC loader_specific_options)
-     add_dependencies(loader-opt loader_asm_gen_files)
-     set_target_properties(loader-opt PROPERTIES CMAKE_C_FLAGS_DEBUG "${MODIFIED_C_FLAGS_DEBUG}")
-@@ -237,9 +240,17 @@ if(WIN32)
-     # when adding the suffix the import and runtime library names must be consistent
-     # mingw: libvulkan-1.dll.a / libvulkan-1.dll
-     # msvc: vulkan-1.lib / vulkan-1.dll
-+    if(MSVC)
-     set_target_properties(vulkan
-                           PROPERTIES
-                           OUTPUT_NAME vulkan-1)
-+    else()
-+    set_target_properties(vulkan
-+                          PROPERTIES
-+                          LIBRARY_OUTPUT_NAME vulkan
-+                          RUNTIME_OUTPUT_NAME vulkan-1
-+                          ARCHIVE_OUTPUT_NAME vulkan)
-+    endif()
- 
-     if(MSVC AND ENABLE_WIN10_ONECORE)
-         target_link_libraries(vulkan OneCoreUAP.lib LIBCMT.LIB LIBCMTD.LIB LIBVCRUNTIME.LIB LIBUCRT.LIB)
-diff --git a/loader/vk_loader_platform.h b/loader/vk_loader_platform.h
-index 594a24986..6bbe6798b 100644
---- a/loader/vk_loader_platform.h
-+++ b/loader/vk_loader_platform.h
-@@ -77,7 +77,13 @@
- #include "vk_layer_dispatch_table.h"
- #include "vk_loader_extensions.h"
- 
--#if defined(__GNUC__) && __GNUC__ >= 4
-+#if defined(_WIN32)
-+#  if defined (VK_BUILDING_DLL)
-+#    define LOADER_EXPORT __declspec(dllexport)
-+#  else
-+#    define LOADER_EXPORT
-+#  endif
-+#elif defined(__GNUC__) && __GNUC__ >= 4
- #define LOADER_EXPORT __attribute__((visibility("default")))
- #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
- #define LOADER_EXPORT __attribute__((visibility("default")))
-diff --git a/loader/vulkan-1.def b/loader/vulkan-1.def
-index f1aab7880..0b8a68ff8 100644
---- a/loader/vulkan-1.def
-+++ b/loader/vulkan-1.def
-@@ -22,7 +22,7 @@
- ;
- ;;;;  End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- 
--LIBRARY vulkan-1.dll
-+LIBRARY libvulkan-1.dll
- EXPORTS
-    vkCreateInstance
-    vkDestroyInstance
--- 
-2.45.0.windows.1
-
diff --git a/contrib/src/vulkan-loader/004-disable-suffix-in-static-lib.patch b/contrib/src/vulkan-loader/004-disable-suffix-in-static-lib.patch
deleted file mode 100644
index 2737bf45de99870344d2a04165bedd06b7f053b6..0000000000000000000000000000000000000000
--- a/contrib/src/vulkan-loader/004-disable-suffix-in-static-lib.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e9e54996189115fd4868cc7be55e2390419e0c57 Mon Sep 17 00:00:00 2001
-From: Biswapriyo Nath <nathbappai@gmail.com>
-Date: Sat, 22 Jan 2022 09:51:26 +0100
-Subject: [PATCH 2/3] disable suffix in static lib
-
----
- loader/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index 0552c5bdd..98da79ab8 100644
---- a/loader/CMakeLists.txt
-+++ b/loader/CMakeLists.txt
-@@ -337,7 +337,7 @@ if(PKG_CONFIG_FOUND)
-     foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
-         set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
-     endforeach()
--    if(WIN32)
-+    if(MSVC)
-         set(VULKAN_LIB_SUFFIX "-1")
-         # Set libdir path as in cmake's FindVulkan.cmake
-         # https://github.com/KhronosGroup/Vulkan-Loader/issues/668
--- 
-2.45.0.windows.1
-
diff --git a/contrib/src/vulkan-loader/SHA512SUMS b/contrib/src/vulkan-loader/SHA512SUMS
index 4d0d4e41a72201f661c2b206a8445f2188341cee..7a4cc4cdd82f79010c95594149f5de06c35bd6e7 100644
--- a/contrib/src/vulkan-loader/SHA512SUMS
+++ b/contrib/src/vulkan-loader/SHA512SUMS
@@ -1 +1 @@
-b4c9716a0cb3d6748f69b91735e43a5fe51599f44c21f9c4d90e69daa05bddcfd354978e53e95d64cb6a6bcca640c48974d61893590ab443b230294d4668f245  Vulkan-Loader-1.3.211.tar.gz
+6345b57c37b9fcb2c1dd10c8184bf4121fbee660adc7b7c58d3f4bf5c07ba08ed006ac4eaecc7ce6e87ed27804b7970b04ee3ec8c841e9f0de81d0bd7fc53327  Vulkan-Loader-1.3.275.tar.gz
diff --git a/contrib/src/vulkan-loader/libvulkan-32.def b/contrib/src/vulkan-loader/libvulkan-32.def
index eb82ac53ebed29dc2964445bc9ffe58cba80dea0..e0dfb67995ff3227a3270b7965b9b0b3c266ec3c 100644
--- a/contrib/src/vulkan-loader/libvulkan-32.def
+++ b/contrib/src/vulkan-loader/libvulkan-32.def
@@ -3,7 +3,7 @@
 ; Automatic generated by gendef
 ; written by Kai Tietz 2008
 ;
-LIBRARY "libvulkan-1.dll"
+LIBRARY "vulkan-1.dll"
 EXPORTS
 vkAcquireNextImage2KHR@12
 vkAcquireNextImageKHR@40
@@ -18,17 +18,24 @@ vkBindImageMemory@28
 vkCmdBeginQuery@20
 vkCmdBeginRenderPass2@12
 vkCmdBeginRenderPass@12
+vkCmdBeginRendering@8
 vkCmdBindDescriptorSets@36
 vkCmdBindIndexBuffer@24
 vkCmdBindPipeline@16
+vkCmdBindVertexBuffers2@28
 vkCmdBindVertexBuffers@20
+vkCmdBlitImage2@8
 vkCmdBlitImage@40
 vkCmdClearAttachments@20
 vkCmdClearColorImage@28
 vkCmdClearDepthStencilImage@28
+vkCmdCopyBuffer2@8
 vkCmdCopyBuffer@28
+vkCmdCopyBufferToImage2@8
 vkCmdCopyBufferToImage@32
+vkCmdCopyImage2@8
 vkCmdCopyImage@36
+vkCmdCopyImageToBuffer2@8
 vkCmdCopyImageToBuffer@32
 vkCmdCopyQueryPoolResults@48
 vkCmdDispatch@16
@@ -43,28 +50,49 @@ vkCmdDrawIndirectCount@44
 vkCmdEndQuery@16
 vkCmdEndRenderPass2@8
 vkCmdEndRenderPass@4
+vkCmdEndRendering@4
 vkCmdExecuteCommands@12
 vkCmdFillBuffer@32
 vkCmdNextSubpass2@12
 vkCmdNextSubpass@8
+vkCmdPipelineBarrier2@8
 vkCmdPipelineBarrier@40
 vkCmdPushConstants@28
+vkCmdResetEvent2@20
 vkCmdResetEvent@16
 vkCmdResetQueryPool@20
+vkCmdResolveImage2@8
 vkCmdResolveImage@36
 vkCmdSetBlendConstants@8
+vkCmdSetCullMode@8
 vkCmdSetDepthBias@16
+vkCmdSetDepthBiasEnable@8
 vkCmdSetDepthBounds@12
+vkCmdSetDepthBoundsTestEnable@8
+vkCmdSetDepthCompareOp@8
+vkCmdSetDepthTestEnable@8
+vkCmdSetDepthWriteEnable@8
 vkCmdSetDeviceMask@8
+vkCmdSetEvent2@16
 vkCmdSetEvent@16
+vkCmdSetFrontFace@8
 vkCmdSetLineWidth@8
+vkCmdSetPrimitiveRestartEnable@8
+vkCmdSetPrimitiveTopology@8
+vkCmdSetRasterizerDiscardEnable@8
 vkCmdSetScissor@16
+vkCmdSetScissorWithCount@12
 vkCmdSetStencilCompareMask@12
+vkCmdSetStencilOp@24
 vkCmdSetStencilReference@12
+vkCmdSetStencilTestEnable@8
 vkCmdSetStencilWriteMask@12
 vkCmdSetViewport@16
+vkCmdSetViewportWithCount@12
 vkCmdUpdateBuffer@32
+vkCmdWaitEvents2@16
 vkCmdWaitEvents@44
+vkCmdWriteTimestamp2@24
 vkCmdWriteTimestamp@20
 vkCreateBuffer@16
 vkCreateBufferView@16
@@ -86,6 +114,7 @@ vkCreateImageView@16
 vkCreateInstance@12
 vkCreatePipelineCache@16
 vkCreatePipelineLayout@16
+vkCreatePrivateDataSlot@16
 vkCreateQueryPool@16
 vkCreateRenderPass2@16
 vkCreateRenderPass@16
@@ -112,6 +141,7 @@ vkDestroyInstance@8
 vkDestroyPipeline@16
 vkDestroyPipelineCache@16
 vkDestroyPipelineLayout@16
+vkDestroyPrivateDataSlot@16
 vkDestroyQueryPool@16
 vkDestroyRenderPass@16
 vkDestroySampler@16
@@ -138,9 +168,12 @@ vkGetBufferMemoryRequirements2@12
 vkGetBufferMemoryRequirements@16
 vkGetBufferOpaqueCaptureAddress@8
 vkGetDescriptorSetLayoutSupport@12
+vkGetDeviceBufferMemoryRequirements@12
 vkGetDeviceGroupPeerMemoryFeatures@20
 vkGetDeviceGroupPresentCapabilitiesKHR@8
 vkGetDeviceGroupSurfacePresentModesKHR@16
+vkGetDeviceImageMemoryRequirements@12
+vkGetDeviceImageSparseMemoryRequirements@16
 vkGetDeviceMemoryCommitment@16
 vkGetDeviceMemoryOpaqueCaptureAddress@8
 vkGetDeviceProcAddr@8
@@ -187,8 +220,10 @@ vkGetPhysicalDeviceSurfaceFormats2KHR@16
 vkGetPhysicalDeviceSurfaceFormatsKHR@20
 vkGetPhysicalDeviceSurfacePresentModesKHR@20
 vkGetPhysicalDeviceSurfaceSupportKHR@20
+vkGetPhysicalDeviceToolProperties@12
 vkGetPhysicalDeviceWin32PresentationSupportKHR@8
 vkGetPipelineCacheData@20
+vkGetPrivateData@28
 vkGetQueryPoolResults@40
 vkGetRenderAreaGranularity@16
 vkGetSemaphoreCounterValue@16
@@ -198,6 +233,7 @@ vkMapMemory@36
 vkMergePipelineCaches@20
 vkQueueBindSparse@20
 vkQueuePresentKHR@8
+vkQueueSubmit2@20
 vkQueueSubmit@20
 vkQueueWaitIdle@4
 vkResetCommandBuffer@8
@@ -207,6 +243,7 @@ vkResetEvent@12
 vkResetFences@12
 vkResetQueryPool@20
 vkSetEvent@12
+vkSetPrivateData@32
 vkSignalSemaphore@8
 vkTrimCommandPool@16
 vkUnmapMemory@12
diff --git a/contrib/src/vulkan-loader/rules.mak b/contrib/src/vulkan-loader/rules.mak
index f922db99429d4c353a3392e40eb4c5d29c141adb..e77b11554e557d50eddc61f0f01bf39c1e4342ff 100644
--- a/contrib/src/vulkan-loader/rules.mak
+++ b/contrib/src/vulkan-loader/rules.mak
@@ -1,4 +1,4 @@
-VULKAN_LOADER_VERSION := 1.3.211
+VULKAN_LOADER_VERSION := 1.3.275
 VULKAN_LOADER_URL := $(GITHUB)/KhronosGroup/Vulkan-Loader/archive/v$(VULKAN_LOADER_VERSION).tar.gz
 
 DEPS_vulkan-loader = vulkan-headers $(DEPS_vulkan-headers)
@@ -43,8 +43,6 @@ vulkan-loader: Vulkan-Loader-$(VULKAN_LOADER_VERSION).tar.gz .sum-vulkan-loader
 	$(UNPACK)
 # Patches are from msys2 package system
 # https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-vulkan-loader
-	$(APPLY) $(SRC)/vulkan-loader/002-proper-def-files-for-32bit.patch
-	$(APPLY) $(SRC)/vulkan-loader/004-disable-suffix-in-static-lib.patch
 	$(APPLY) $(SRC)/vulkan-loader/0003-fix-libunwind-usage-when-static-linking.patch
 ifeq ($(HOST),i686-w64-mingw32)
 	cp -v $(SRC)/vulkan-loader/libvulkan-32.def $(UNPACK_DIR)/loader/vulkan-1.def
@@ -53,22 +51,12 @@ endif
 	$(MOVE)
 
 # Needed for the loader's cmake script to find the registry files
-VULKAN_LOADER_ENV_CONF = \
-	VULKAN_HEADERS_INSTALL_DIR="$(PREFIX)"
+VULKAN_LOADER_CONF += \
+	-DVULKAN_HEADERS_INSTALL_DIR:STRING=$(PREFIX)
 
 .vulkan-loader: vulkan-loader toolchain.cmake
 	$(CMAKECLEAN)
-	$(VULKAN_LOADER_ENV_CONF) $(HOSTVARS_CMAKE) $(CMAKE) $(VULKAN_LOADER_CONF)
-	+$(CMAKEBUILD)
-
-ifdef HAVE_WIN32
-# CMake will generate a .pc file with -lvulkan even if the static library
-# generated is libvulkan.dll.a. It also forget to link with libcfgmgr32.
-	sed -i.orig -e "s,-lvulkan,-lvulkan.dll -lcfgmgr32," $(BUILD_DIR)/loader/vulkan.pc
-else
-	$(call pkg_static,"build/loader/vulkan.pc")
-endif
-
+	$(HOSTVARS_CMAKE) $(CMAKE) $(VULKAN_LOADER_CONF)
 	+$(CMAKEBUILD)
 	$(CMAKEINSTALL)
 	touch $@
diff --git a/extras/ci/gitlab-ci.yml b/extras/ci/gitlab-ci.yml
index 16e825f49a1f7309343e4fe23479209926253767..91b9791937761063aa03e7c7fe5951b7a58a48fa 100644
--- a/extras/ci/gitlab-ci.yml
+++ b/extras/ci/gitlab-ci.yml
@@ -24,7 +24,7 @@ variables:
     VLC_WIN_LLVM_MSVCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-msvcrt:20241118101328
     VLC_WIN_LLVM_UCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-ucrt:20241118101328
     VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20241112155431
-    VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20241118101328
+    VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20250403202200
     VLC_SNAP_IMAGE: registry.videolan.org/vlc-ubuntu-focal:20231013031754
     VLC_RASPBIAN_IMAGE: registry.videolan.org/vlc-ubuntu-raspberry:20240806085528
     VLC_WASM_EMSCRIPTEN: registry.videolan.org/vlc-debian-wasm-emscripten:20250207201514
@@ -617,7 +617,7 @@ xros-arm64:
         name: $VLC_ANDROID_IMAGE
     script: |
         git clone https://code.videolan.org/videolan/libvlcjni.git
-        (cd libvlcjni && git checkout 11413ec511ef618e26b0934e71eed7da110685fe)
+        (cd libvlcjni && git checkout 5e2b2af821d14738bc470414a8d0c72d9955d168)
         if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
           CONTRIB_FLAGS="--with-prebuilt-contribs"
         elif [ "${CI_COMMIT_BRANCH}" = "${CI_DEFAULT_BRANCH}" -a "${CI_PROJECT_PATH}" = "videolan/vlc" ]; then