From 4bebbec9d442a63f592cdb310b1172f535f72e7d Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Fri, 26 Jun 2026 21:32:02 +0300
Subject: [PATCH] update khronos headers from mainstream.
---
include/SDL3/SDL_opengl_glext.h | 6 +-
.../vk_video/vulkan_video_codec_av1std.h | 2 +-
.../vulkan_video_codec_av1std_decode.h | 2 +-
.../vulkan_video_codec_av1std_encode.h | 2 +-
.../vk_video/vulkan_video_codec_h264std.h | 2 +-
.../vulkan_video_codec_h264std_decode.h | 2 +-
.../vulkan_video_codec_h264std_encode.h | 2 +-
.../vk_video/vulkan_video_codec_h265std.h | 2 +-
.../vulkan_video_codec_h265std_decode.h | 2 +-
.../vulkan_video_codec_h265std_encode.h | 2 +-
.../vk_video/vulkan_video_codec_vp9std.h | 2 +-
.../vulkan_video_codec_vp9std_decode.h | 2 +-
.../vk_video/vulkan_video_codecs_common.h | 2 +-
src/video/khronos/vulkan/vk_platform.h | 3 +-
src/video/khronos/vulkan/vulkan.h | 3 +-
src/video/khronos/vulkan/vulkan_android.h | 2 +-
src/video/khronos/vulkan/vulkan_beta.h | 2 +-
src/video/khronos/vulkan/vulkan_core.h | 43 +++++++++++++-
src/video/khronos/vulkan/vulkan_directfb.h | 2 +-
src/video/khronos/vulkan/vulkan_fuchsia.h | 2 +-
src/video/khronos/vulkan/vulkan_ggp.h | 2 +-
src/video/khronos/vulkan/vulkan_ios.h | 2 +-
src/video/khronos/vulkan/vulkan_macos.h | 2 +-
src/video/khronos/vulkan/vulkan_metal.h | 2 +-
src/video/khronos/vulkan/vulkan_ohos.h | 2 +-
src/video/khronos/vulkan/vulkan_screen.h | 2 +-
src/video/khronos/vulkan/vulkan_ubm.h | 59 +++++++++++++++++++
src/video/khronos/vulkan/vulkan_vi.h | 2 +-
src/video/khronos/vulkan/vulkan_wayland.h | 2 +-
src/video/khronos/vulkan/vulkan_win32.h | 2 +-
src/video/khronos/vulkan/vulkan_xcb.h | 2 +-
src/video/khronos/vulkan/vulkan_xlib.h | 2 +-
src/video/khronos/vulkan/vulkan_xlib_xrandr.h | 2 +-
33 files changed, 133 insertions(+), 37 deletions(-)
create mode 100644 src/video/khronos/vulkan/vulkan_ubm.h
diff --git a/include/SDL3/SDL_opengl_glext.h b/include/SDL3/SDL_opengl_glext.h
index e09862592f77b..28314682cb006 100644
--- a/include/SDL3/SDL_opengl_glext.h
+++ b/include/SDL3/SDL_opengl_glext.h
@@ -36,7 +36,7 @@ extern "C" {
#define GLAPI extern
#endif
-#define GL_GLEXT_VERSION 20260319
+#define GL_GLEXT_VERSION 20260609
/*#include <KHR/khrplatform.h>*/
#ifndef __khrplatform_h_
@@ -9822,10 +9822,10 @@ GLAPI void APIENTRY glGetFramebufferParameterivMESA (GLenum target, GLenum pname
#define GL_MESA_map_buffer_client_pointer 1
#define GL_MAP_CLIENT_POINTER_BIT_MESA 0x4000
#define GL_BUFFER_CLIENT_POINTER_SIZE_MESA 0x9790
-typedef void (APIENTRYP PFNGLADDCLIENTPOINTERRANGEMESAPROC) (GLvoid *addr, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLADDCLIENTPOINTERRANGEMESAPROC) (void *addr, GLsizeiptr size);
typedef void* (APIENTRYP PFNGLRELEASECLIENTPOINTERRANGEMESAPROC) (GLsizeiptr *size);
#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glAddClientPointerRangeMESA (GLvoid *addr, GLsizeiptr size);
+GLAPI void APIENTRY glAddClientPointerRangeMESA (void *addr, GLsizeiptr size);
GLAPI void* APIENTRY glReleaseClientPointerRangeMESA (GLsizeiptr *size);
#endif
#endif /* GL_MESA_map_buffer_client_pointer */
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_av1std.h b/src/video/khronos/vk_video/vulkan_video_codec_av1std.h
index 75cebd74cbfe4..5347b3639505d 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_av1std.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_av1std.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h b/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h
index 60bf2c0398761..e262e961ac04d 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_av1std_encode.h b/src/video/khronos/vk_video/vulkan_video_codec_av1std_encode.h
index 3602fe1250214..8afb2537f165a 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_av1std_encode.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_av1std_encode.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_h264std.h b/src/video/khronos/vk_video/vulkan_video_codec_h264std.h
index 48621b6954d70..3db81affc7e7d 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_h264std.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_h264std.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h b/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h
index a6bfe9d8228a0..fa1140586bbde 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h b/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h
index 2d42ac321b8d6..aba6fbf3a1d0b 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_h265std.h b/src/video/khronos/vk_video/vulkan_video_codec_h265std.h
index 23617b8f962f3..cf0cbefc088c6 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_h265std.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_h265std.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h b/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h
index 1758d4a88ddaf..7cfe54f284340 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h b/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h
index e584a7262b957..fd8ee03b6980f 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_vp9std.h b/src/video/khronos/vk_video/vulkan_video_codec_vp9std.h
index 3c62f287e76ec..312a78574ef80 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_vp9std.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_vp9std.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codec_vp9std_decode.h b/src/video/khronos/vk_video/vulkan_video_codec_vp9std_decode.h
index ac7fa7be8c6b5..2a7ecdc977637 100644
--- a/src/video/khronos/vk_video/vulkan_video_codec_vp9std_decode.h
+++ b/src/video/khronos/vk_video/vulkan_video_codec_vp9std_decode.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vk_video/vulkan_video_codecs_common.h b/src/video/khronos/vk_video/vulkan_video_codecs_common.h
index 3c4d0553d086e..faedbef4673c1 100644
--- a/src/video/khronos/vk_video/vulkan_video_codecs_common.h
+++ b/src/video/khronos/vk_video/vulkan_video_codecs_common.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vk_platform.h b/src/video/khronos/vulkan/vk_platform.h
index ad849d7ee3c6f..a036bab539d33 100644
--- a/src/video/khronos/vulkan/vk_platform.h
+++ b/src/video/khronos/vulkan/vk_platform.h
@@ -3,8 +3,7 @@
//
/*
** Copyright 2014-2026 The Khronos Group Inc.
-**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
diff --git a/src/video/khronos/vulkan/vulkan.h b/src/video/khronos/vulkan/vulkan.h
index 2ed8d9c7abb69..934d9b1ecbd3f 100644
--- a/src/video/khronos/vulkan/vulkan.h
+++ b/src/video/khronos/vulkan/vulkan.h
@@ -3,8 +3,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
-**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#include "vk_platform.h"
diff --git a/src/video/khronos/vulkan/vulkan_android.h b/src/video/khronos/vulkan/vulkan_android.h
index 1d8265e87e79e..1e318dc71faf6 100644
--- a/src/video/khronos/vulkan/vulkan_android.h
+++ b/src/video/khronos/vulkan/vulkan_android.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_beta.h b/src/video/khronos/vulkan/vulkan_beta.h
index 147a3f3cc1fc5..c84b1d48e6dcd 100644
--- a/src/video/khronos/vulkan/vulkan_beta.h
+++ b/src/video/khronos/vulkan/vulkan_beta.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_core.h b/src/video/khronos/vulkan/vulkan_core.h
index 720a85df572dc..a3ab00cf7c056 100644
--- a/src/video/khronos/vulkan/vulkan_core.h
+++ b/src/video/khronos/vulkan/vulkan_core.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
@@ -66,7 +66,7 @@ extern "C" {
//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 353
+#define VK_HEADER_VERSION 355
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
@@ -1343,6 +1343,8 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000,
+ VK_STRUCTURE_TYPE_TENSOR_EXPLICIT_TILING_FORMAT_PROPERTIES_ARM = 1000565000,
+ VK_STRUCTURE_TYPE_TENSOR_ROLLING_BACKING_CREATE_INFO_ARM = 1000565001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT = 1000567000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV = 1000569000,
@@ -1823,6 +1825,7 @@ typedef enum VkVendorId {
VK_VENDOR_ID_MESA = 0x10005,
VK_VENDOR_ID_POCL = 0x10006,
VK_VENDOR_ID_MOBILEYE = 0x10007,
+ VK_VENDOR_ID_APE = 0x10008,
VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
} VkVendorId;
@@ -6366,6 +6369,7 @@ typedef enum VkDriverId {
VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN = 27,
VK_DRIVER_ID_MESA_KOSMICKRISP = 28,
VK_DRIVER_ID_MESA_GFXSTREAM = 29,
+ VK_DRIVER_ID_APE_SOFT = 30,
VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
@@ -7375,6 +7379,7 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR = 0x800000000000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x2000000000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x4000000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_2D_BIT_IMG = 0x200000000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR = 0x10000000000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR = 0x20000000000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR = 0x40000000000000ULL;
@@ -22905,6 +22910,11 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorViewARM)
typedef enum VkTensorTilingARM {
VK_TENSOR_TILING_OPTIMAL_ARM = 0,
VK_TENSOR_TILING_LINEAR_ARM = 1,
+ VK_TENSOR_TILING_BRICK_16_WIDE_ARM = 1000565000,
+ VK_TENSOR_TILING_BRICK_8_WIDE_ARM = 1000565001,
+ VK_TENSOR_TILING_BRICK_4_WIDE_ARM = 1000565002,
+ VK_TENSOR_TILING_BLOCK_U_INTERLEAVED_ARM = 1000565003,
+ VK_TENSOR_TILING_BLOCK_U_INTERLEAVED_64K_ARM = 1000565004,
VK_TENSOR_TILING_MAX_ENUM_ARM = 0x7FFFFFFF
} VkTensorTilingARM;
typedef VkFlags64 VkTensorCreateFlagsARM;
@@ -24834,6 +24844,29 @@ typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
+// VK_ARM_tensor_controls is a preprocessor guard. Do not pass it to API calls.
+#define VK_ARM_tensor_controls 1
+#define VK_MAX_TENSOR_CREATE_INFO_ROLLING_BACKING_WRAP_COUNT_ARM 4U
+#define VK_ARM_TENSOR_CONTROLS_SPEC_VERSION 1
+#define VK_ARM_TENSOR_CONTROLS_EXTENSION_NAME "VK_ARM_tensor_controls"
+typedef struct VkTensorRollingBackingCreateInfoARM {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t wraps[VK_MAX_TENSOR_CREATE_INFO_ROLLING_BACKING_WRAP_COUNT_ARM];
+} VkTensorRollingBackingCreateInfoARM;
+
+typedef struct VkTensorExplicitTilingFormatPropertiesARM {
+ VkStructureType sType;
+ void* pNext;
+ VkFormatFeatureFlags2 brick16TilingTensorFeatures;
+ VkFormatFeatureFlags2 brick8TilingTensorFeatures;
+ VkFormatFeatureFlags2 brick4TilingTensorFeatures;
+ VkFormatFeatureFlags2 blockUTilingTensorFeatures;
+ VkFormatFeatureFlags2 blockU64kTilingTensorFeatures;
+} VkTensorExplicitTilingFormatPropertiesARM;
+
+
+
// VK_EXT_shader_float8 is a preprocessor guard. Do not pass it to API calls.
#define VK_EXT_shader_float8 1
#define VK_EXT_SHADER_FLOAT8_SPEC_VERSION 1
@@ -25697,6 +25730,12 @@ typedef struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM {
+// VK_IMG_filter_linear_2d is a preprocessor guard. Do not pass it to API calls.
+#define VK_IMG_filter_linear_2d 1
+#define VK_IMG_FILTER_LINEAR_2D_SPEC_VERSION 1
+#define VK_IMG_FILTER_LINEAR_2D_EXTENSION_NAME "VK_IMG_filter_linear_2d"
+
+
// VK_ARM_performance_counters_by_region is a preprocessor guard. Do not pass it to API calls.
#define VK_ARM_performance_counters_by_region 1
#define VK_ARM_PERFORMANCE_COUNTERS_BY_REGION_SPEC_VERSION 1
diff --git a/src/video/khronos/vulkan/vulkan_directfb.h b/src/video/khronos/vulkan/vulkan_directfb.h
index b96e957e14bdd..527331a61f434 100644
--- a/src/video/khronos/vulkan/vulkan_directfb.h
+++ b/src/video/khronos/vulkan/vulkan_directfb.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_fuchsia.h b/src/video/khronos/vulkan/vulkan_fuchsia.h
index ccca6271f34de..bfeee3943021f 100644
--- a/src/video/khronos/vulkan/vulkan_fuchsia.h
+++ b/src/video/khronos/vulkan/vulkan_fuchsia.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_ggp.h b/src/video/khronos/vulkan/vulkan_ggp.h
index f8a48ec87695c..b8961089b5243 100644
--- a/src/video/khronos/vulkan/vulkan_ggp.h
+++ b/src/video/khronos/vulkan/vulkan_ggp.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_ios.h b/src/video/khronos/vulkan/vulkan_ios.h
index 089991a4f60ff..d6f1ed53b423f 100644
--- a/src/video/khronos/vulkan/vulkan_ios.h
+++ b/src/video/khronos/vulkan/vulkan_ios.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_macos.h b/src/video/khronos/vulkan/vulkan_macos.h
index 7d5d8a1b31a3b..2459e69fb06c9 100644
--- a/src/video/khronos/vulkan/vulkan_macos.h
+++ b/src/video/khronos/vulkan/vulkan_macos.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_metal.h b/src/video/khronos/vulkan/vulkan_metal.h
index 92f0c9a76499c..ce1f6f53b72e0 100644
--- a/src/video/khronos/vulkan/vulkan_metal.h
+++ b/src/video/khronos/vulkan/vulkan_metal.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_ohos.h b/src/video/khronos/vulkan/vulkan_ohos.h
index 3bde0114f5ab1..e5cdd2d499600 100644
--- a/src/video/khronos/vulkan/vulkan_ohos.h
+++ b/src/video/khronos/vulkan/vulkan_ohos.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_screen.h b/src/video/khronos/vulkan/vulkan_screen.h
index 15e9d09028ff0..460432a442738 100644
--- a/src/video/khronos/vulkan/vulkan_screen.h
+++ b/src/video/khronos/vulkan/vulkan_screen.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_ubm.h b/src/video/khronos/vulkan/vulkan_ubm.h
new file mode 100644
index 0000000000000..37cf6609bc69b
--- /dev/null
+++ b/src/video/khronos/vulkan/vulkan_ubm.h
@@ -0,0 +1,59 @@
+#ifndef VULKAN_UBM_H_
+#define VULKAN_UBM_H_ 1
+
+/*
+** Copyright 2015-2026 The Khronos Group Inc.
+**
+** SPDX-License-Identifier: Apache-2.0 OR MIT
+*/
+
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+// VK_SEC_ubm_surface is a preprocessor guard. Do not pass it to API calls.
+#define VK_SEC_ubm_surface 1
+#define VK_SEC_UBM_SURFACE_SPEC_VERSION 1
+#define VK_SEC_UBM_SURFACE_EXTENSION_NAME "VK_SEC_ubm_surface"
+typedef VkFlags VkUbmSurfaceCreateFlagsSEC;
+typedef struct VkUbmSurfaceCreateInfoSEC {
+ VkStructureType sType;
+ const void* pNext;
+ VkUbmSurfaceCreateFlagsSEC flags;
+ struct ubm_device* device;
+ struct ubm_surface* surface;
+} VkUbmSurfaceCreateInfoSEC;
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateUbmSurfaceSEC)(VkInstance instance, const VkUbmSurfaceCreateInfoSEC* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct ubm_device* device);
+
+#ifndef VK_NO_PROTOTYPES
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateUbmSurfaceSEC(
+ VkInstance instance,
+ const VkUbmSurfaceCreateInfoSEC* pCreateInfo,
+ const VkAllocationCallbacks* pAllocator,
+ VkSurfaceKHR* pSurface);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceUbmPresentationSupportSEC(
+ VkPhysicalDevice physicalDevice,
+ uint32_t queueFamilyIndex,
+ struct ubm_device* device);
+#endif
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/video/khronos/vulkan/vulkan_vi.h b/src/video/khronos/vulkan/vulkan_vi.h
index 97d1a3c5f9e35..f5237e47b7ae4 100644
--- a/src/video/khronos/vulkan/vulkan_vi.h
+++ b/src/video/khronos/vulkan/vulkan_vi.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_wayland.h b/src/video/khronos/vulkan/vulkan_wayland.h
index 41025db43b2b0..16645625f1a50 100644
--- a/src/video/khronos/vulkan/vulkan_wayland.h
+++ b/src/video/khronos/vulkan/vulkan_wayland.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_win32.h b/src/video/khronos/vulkan/vulkan_win32.h
index 5c7e8bd6d7e36..0750692779d74 100644
--- a/src/video/khronos/vulkan/vulkan_win32.h
+++ b/src/video/khronos/vulkan/vulkan_win32.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_xcb.h b/src/video/khronos/vulkan/vulkan_xcb.h
index 473f8c2887a78..439f65d54ab61 100644
--- a/src/video/khronos/vulkan/vulkan_xcb.h
+++ b/src/video/khronos/vulkan/vulkan_xcb.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_xlib.h b/src/video/khronos/vulkan/vulkan_xlib.h
index dfd107c3e2f16..7394bf7c79bb7 100644
--- a/src/video/khronos/vulkan/vulkan_xlib.h
+++ b/src/video/khronos/vulkan/vulkan_xlib.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*
diff --git a/src/video/khronos/vulkan/vulkan_xlib_xrandr.h b/src/video/khronos/vulkan/vulkan_xlib_xrandr.h
index a272e246ceb58..4aabd64426a01 100644
--- a/src/video/khronos/vulkan/vulkan_xlib_xrandr.h
+++ b/src/video/khronos/vulkan/vulkan_xlib_xrandr.h
@@ -4,7 +4,7 @@
/*
** Copyright 2015-2026 The Khronos Group Inc.
**
-** SPDX-License-Identifier: Apache-2.0
+** SPDX-License-Identifier: Apache-2.0 OR MIT
*/
/*