Răsfoiți Sursa

update khronos headers from mainstream.

Ozkan Sezer 1 lună în urmă
părinte
comite
f661f37ace

+ 13 - 3
include/SDL3/SDL_opengl_glext.h

@@ -36,7 +36,7 @@ extern "C" {
 #define GLAPI extern
 #endif
 
-#define GL_GLEXT_VERSION 20260609
+#define GL_GLEXT_VERSION 20260803
 
 /*#include <KHR/khrplatform.h>*/
 #ifndef __khrplatform_h_
@@ -9822,11 +9822,21 @@ 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
+#define GL_CLIENT_POINTER_RELEASE_ALL_MESA 0x00000001
+#define GL_CLIENT_POINTER_STREAM_DRAW_MESA 0x9791
+#define GL_CLIENT_POINTER_STREAM_READ_MESA 0x9792
+#define GL_CLIENT_POINTER_STREAM_COPY_MESA 0x9793
+#define GL_CLIENT_POINTER_STATIC_DRAW_MESA 0x9794
+#define GL_CLIENT_POINTER_STATIC_READ_MESA 0x9795
+#define GL_CLIENT_POINTER_STATIC_COPY_MESA 0x9796
+#define GL_CLIENT_POINTER_DYNAMIC_DRAW_MESA 0x9797
+#define GL_CLIENT_POINTER_DYNAMIC_READ_MESA 0x9798
+#define GL_CLIENT_POINTER_DYNAMIC_COPY_MESA 0x9799
 typedef void (APIENTRYP PFNGLADDCLIENTPOINTERRANGEMESAPROC) (void *addr, GLsizeiptr size);
-typedef void* (APIENTRYP PFNGLRELEASECLIENTPOINTERRANGEMESAPROC) (GLsizeiptr *size);
+typedef void* (APIENTRYP PFNGLRELEASECLIENTPOINTERRANGEMESAPROC) (GLbitfield flags, GLsizeiptr *size);
 #ifdef GL_GLEXT_PROTOTYPES
 GLAPI void APIENTRY glAddClientPointerRangeMESA (void *addr, GLsizeiptr size);
-GLAPI void* APIENTRY glReleaseClientPointerRangeMESA (GLsizeiptr *size);
+GLAPI void* APIENTRY glReleaseClientPointerRangeMESA (GLbitfield flags, GLsizeiptr *size);
 #endif
 #endif /* GL_MESA_map_buffer_client_pointer */
 

+ 1 - 1
src/video/khronos/GLES/gl.h

@@ -17,7 +17,7 @@ extern "C" {
 
 #include <GLES/glplatform.h>
 
-/* Generated on date 20260319 */
+/* Generated on date 20260803 */
 
 /* Generated C header for:
  * API: gles1

+ 1 - 1
src/video/khronos/GLES/glext.h

@@ -19,7 +19,7 @@ extern "C" {
 #define GL_APIENTRYP GL_APIENTRY*
 #endif
 
-/* Generated on date 20260319 */
+/* Generated on date 20260803 */
 
 /* Generated C header for:
  * API: gles1

+ 1 - 1
src/video/khronos/GLES2/gl2.h

@@ -25,7 +25,7 @@ extern "C" {
 #define GL_GLES_PROTOTYPES 1
 #endif
 
-/* Generated on date 20260319 */
+/* Generated on date 20260803 */
 
 /* Generated C header for:
  * API: gles2

+ 1 - 1
src/video/khronos/GLES2/gl2ext.h

@@ -19,7 +19,7 @@ extern "C" {
 #define GL_APIENTRYP GL_APIENTRY*
 #endif
 
-#define GL_GLEXT_VERSION 20260319
+#define GL_GLEXT_VERSION 20260803
 
 /* Generated C header for:
  * API: gles2

+ 1 - 1
src/video/khronos/GLES3/gl3.h

@@ -25,7 +25,7 @@ extern "C" {
 #define GL_GLES_PROTOTYPES 1
 #endif
 
-/* Generated on date 20260319 */
+/* Generated on date 20260803 */
 
 /* Generated C header for:
  * API: gles2

+ 1 - 1
src/video/khronos/GLES3/gl31.h

@@ -25,7 +25,7 @@ extern "C" {
 #define GL_GLES_PROTOTYPES 1
 #endif
 
-/* Generated on date 20260319 */
+/* Generated on date 20260803 */
 
 /* Generated C header for:
  * API: gles2

+ 1 - 1
src/video/khronos/GLES3/gl32.h

@@ -25,7 +25,7 @@ extern "C" {
 #define GL_GLES_PROTOTYPES 1
 #endif
 
-/* Generated on date 20260319 */
+/* Generated on date 20260803 */
 
 /* Generated C header for:
  * API: gles2

+ 115 - 67
src/video/khronos/openxr/openxr.h

@@ -26,7 +26,7 @@ extern "C" {
     ((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL))
 
 // OpenXR current version number.
-#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 1, 61)
+#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 1, 62)
 
 // OpenXR 1.0 version number
 #define XR_API_VERSION_1_0 XR_MAKE_VERSION(1, 0, XR_VERSION_PATCH(XR_CURRENT_API_VERSION))
@@ -891,8 +891,8 @@ typedef enum XrStructureType {
     XR_TYPE_ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META = 1000592005,
     XR_TYPE_TILE_PROPERTIES_META = 1000609000,
     XR_TYPE_TILE_PROPERTIES_HINT_META = 1000609001,
-    XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_REQUEST_META = 1000683000,
-    XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_META = 1000683001,
+    XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_REQUEST_META = 1000693000,
+    XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_META = 1000693001,
     XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID = 1000700000,
     XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID = 1000700001,
     XR_TYPE_LIGHT_ESTIMATE_ANDROID = 1000700002,
@@ -974,6 +974,8 @@ typedef enum XrStructureType {
     XR_TYPE_HAPTIC_PARAMETRIC_VIBRATION_EXT = 1000775000,
     XR_TYPE_HAPTIC_PARAMETRIC_PROPERTIES_EXT = 1000775001,
     XR_TYPE_SYSTEM_HAPTIC_PARAMETRIC_PROPERTIES_EXT = 1000775002,
+    XR_TYPE_COLOR_SPACES_ENUMERATE_INFO_SONY = 1000776000,
+    XR_TYPE_SWAPCHAIN_CREATE_INFO_COLOR_SPACE_SONY = 1000776001,
     XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT = 1000781000,
     XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT = 1000781001,
     XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT = 1000781002,
@@ -1023,6 +1025,13 @@ typedef enum XrFormFactor {
     XR_FORM_FACTOR_MAX_ENUM = 0x7FFFFFFF
 } XrFormFactor;
 
+typedef enum XrEnvironmentBlendMode {
+    XR_ENVIRONMENT_BLEND_MODE_OPAQUE = 1,
+    XR_ENVIRONMENT_BLEND_MODE_ADDITIVE = 2,
+    XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND = 3,
+    XR_ENVIRONMENT_BLEND_MODE_MAX_ENUM = 0x7FFFFFFF
+} XrEnvironmentBlendMode;
+
 typedef enum XrViewConfigurationType {
     XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO = 1,
     XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO = 2,
@@ -1032,13 +1041,6 @@ typedef enum XrViewConfigurationType {
     XR_VIEW_CONFIGURATION_TYPE_MAX_ENUM = 0x7FFFFFFF
 } XrViewConfigurationType;
 
-typedef enum XrEnvironmentBlendMode {
-    XR_ENVIRONMENT_BLEND_MODE_OPAQUE = 1,
-    XR_ENVIRONMENT_BLEND_MODE_ADDITIVE = 2,
-    XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND = 3,
-    XR_ENVIRONMENT_BLEND_MODE_MAX_ENUM = 0x7FFFFFFF
-} XrEnvironmentBlendMode;
-
 typedef enum XrReferenceSpaceType {
     XR_REFERENCE_SPACE_TYPE_VIEW = 1,
     XR_REFERENCE_SPACE_TYPE_LOCAL = 2,
@@ -1053,6 +1055,13 @@ typedef enum XrReferenceSpaceType {
     XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7FFFFFFF
 } XrReferenceSpaceType;
 
+typedef enum XrEyeVisibility {
+    XR_EYE_VISIBILITY_BOTH = 0,
+    XR_EYE_VISIBILITY_LEFT = 1,
+    XR_EYE_VISIBILITY_RIGHT = 2,
+    XR_EYE_VISIBILITY_MAX_ENUM = 0x7FFFFFFF
+} XrEyeVisibility;
+
 typedef enum XrActionType {
     XR_ACTION_TYPE_BOOLEAN_INPUT = 1,
     XR_ACTION_TYPE_FLOAT_INPUT = 2,
@@ -1062,13 +1071,6 @@ typedef enum XrActionType {
     XR_ACTION_TYPE_MAX_ENUM = 0x7FFFFFFF
 } XrActionType;
 
-typedef enum XrEyeVisibility {
-    XR_EYE_VISIBILITY_BOTH = 0,
-    XR_EYE_VISIBILITY_LEFT = 1,
-    XR_EYE_VISIBILITY_RIGHT = 2,
-    XR_EYE_VISIBILITY_MAX_ENUM = 0x7FFFFFFF
-} XrEyeVisibility;
-
 typedef enum XrSessionState {
     XR_SESSION_STATE_UNKNOWN = 0,
     XR_SESSION_STATE_IDLE = 1,
@@ -1157,12 +1159,6 @@ typedef XrFlags64 XrSessionCreateFlags;
 
 // Flag bits for XrSessionCreateFlags
 
-typedef XrFlags64 XrSpaceVelocityFlags;
-
-// Flag bits for XrSpaceVelocityFlags
-static const XrSpaceVelocityFlags XR_SPACE_VELOCITY_LINEAR_VALID_BIT = 0x00000001;
-static const XrSpaceVelocityFlags XR_SPACE_VELOCITY_ANGULAR_VALID_BIT = 0x00000002;
-
 typedef XrFlags64 XrSpaceLocationFlags;
 
 // Flag bits for XrSpaceLocationFlags
@@ -1171,6 +1167,12 @@ static const XrSpaceLocationFlags XR_SPACE_LOCATION_POSITION_VALID_BIT = 0x00000
 static const XrSpaceLocationFlags XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT = 0x00000004;
 static const XrSpaceLocationFlags XR_SPACE_LOCATION_POSITION_TRACKED_BIT = 0x00000008;
 
+typedef XrFlags64 XrSpaceVelocityFlags;
+
+// Flag bits for XrSpaceVelocityFlags
+static const XrSpaceVelocityFlags XR_SPACE_VELOCITY_LINEAR_VALID_BIT = 0x00000001;
+static const XrSpaceVelocityFlags XR_SPACE_VELOCITY_ANGULAR_VALID_BIT = 0x00000002;
+
 typedef XrFlags64 XrSwapchainCreateFlags;
 
 // Flag bits for XrSwapchainCreateFlags
@@ -1297,27 +1299,18 @@ typedef struct XrSessionCreateInfo {
     XrSystemId                  systemId;
 } XrSessionCreateInfo;
 
-typedef struct XrVector3f {
+typedef struct XrQuaternionf {
     float    x;
     float    y;
     float    z;
-} XrVector3f;
-
-// XrSpaceVelocity extends XrSpaceLocation
-typedef struct XrSpaceVelocity {
-    XrStructureType         type;
-    void* XR_MAY_ALIAS      next;
-    XrSpaceVelocityFlags    velocityFlags;
-    XrVector3f              linearVelocity;
-    XrVector3f              angularVelocity;
-} XrSpaceVelocity;
+    float    w;
+} XrQuaternionf;
 
-typedef struct XrQuaternionf {
+typedef struct XrVector3f {
     float    x;
     float    y;
     float    z;
-    float    w;
-} XrQuaternionf;
+} XrVector3f;
 
 typedef struct XrPosef {
     XrQuaternionf    orientation;
@@ -1331,11 +1324,6 @@ typedef struct XrReferenceSpaceCreateInfo {
     XrPosef                     poseInReferenceSpace;
 } XrReferenceSpaceCreateInfo;
 
-typedef struct XrExtent2Df {
-    float    width;
-    float    height;
-} XrExtent2Df;
-
 typedef struct XrActionSpaceCreateInfo {
     XrStructureType             type;
     const void* XR_MAY_ALIAS    next;
@@ -1351,6 +1339,20 @@ typedef struct XrSpaceLocation {
     XrPosef                 pose;
 } XrSpaceLocation;
 
+// XrSpaceVelocity extends XrSpaceLocation
+typedef struct XrSpaceVelocity {
+    XrStructureType         type;
+    void* XR_MAY_ALIAS      next;
+    XrSpaceVelocityFlags    velocityFlags;
+    XrVector3f              linearVelocity;
+    XrVector3f              angularVelocity;
+} XrSpaceVelocity;
+
+typedef struct XrExtent2Df {
+    float    width;
+    float    height;
+} XrExtent2Df;
+
 typedef struct XrViewConfigurationProperties {
     XrStructureType            type;
     void* XR_MAY_ALIAS         next;
@@ -1410,11 +1412,6 @@ typedef struct XrSessionBeginInfo {
     XrViewConfigurationType     primaryViewConfigurationType;
 } XrSessionBeginInfo;
 
-typedef struct XrFrameWaitInfo {
-    XrStructureType             type;
-    const void* XR_MAY_ALIAS    next;
-} XrFrameWaitInfo;
-
 typedef struct XrFrameState {
     XrStructureType       type;
     void* XR_MAY_ALIAS    next;
@@ -1423,6 +1420,11 @@ typedef struct XrFrameState {
     XrBool32              shouldRender;
 } XrFrameState;
 
+typedef struct XrFrameWaitInfo {
+    XrStructureType             type;
+    const void* XR_MAY_ALIAS    next;
+} XrFrameWaitInfo;
+
 typedef struct XrFrameBeginInfo {
     XrStructureType             type;
     const void* XR_MAY_ALIAS    next;
@@ -1444,6 +1446,12 @@ typedef struct XrFrameEndInfo {
     const XrCompositionLayerBaseHeader* const*    layers;
 } XrFrameEndInfo;
 
+typedef struct XrViewState {
+    XrStructureType       type;
+    void* XR_MAY_ALIAS    next;
+    XrViewStateFlags      viewStateFlags;
+} XrViewState;
+
 typedef struct XrViewLocateInfo {
     XrStructureType             type;
     const void* XR_MAY_ALIAS    next;
@@ -1452,12 +1460,6 @@ typedef struct XrViewLocateInfo {
     XrSpace                     space;
 } XrViewLocateInfo;
 
-typedef struct XrViewState {
-    XrStructureType       type;
-    void* XR_MAY_ALIAS    next;
-    XrViewStateFlags      viewStateFlags;
-} XrViewState;
-
 typedef struct XrFovf {
     float    angleLeft;
     float    angleRight;
@@ -1586,6 +1588,11 @@ typedef struct XrInputSourceLocalizedNameGetInfo {
     XrInputSourceLocalizedNameFlags    whichComponents;
 } XrInputSourceLocalizedNameGetInfo;
 
+typedef struct XR_MAY_ALIAS XrHapticBaseHeader {
+    XrStructureType             type;
+    const void* XR_MAY_ALIAS    next;
+} XrHapticBaseHeader;
+
 typedef struct XrHapticActionInfo {
     XrStructureType             type;
     const void* XR_MAY_ALIAS    next;
@@ -1593,11 +1600,6 @@ typedef struct XrHapticActionInfo {
     XrPath                      subactionPath;
 } XrHapticActionInfo;
 
-typedef struct XR_MAY_ALIAS XrHapticBaseHeader {
-    XrStructureType             type;
-    const void* XR_MAY_ALIAS    next;
-} XrHapticBaseHeader;
-
 typedef struct XR_MAY_ALIAS XrBaseInStructure {
     XrStructureType                    type;
     const struct XrBaseInStructure*    next;
@@ -2715,6 +2717,12 @@ typedef enum XrBlendFactorFB {
     XR_BLEND_FACTOR_ONE_MINUS_DST_ALPHA_FB = 5,
     XR_BLEND_FACTOR_MAX_ENUM_FB = 0x7FFFFFFF
 } XrBlendFactorFB;
+typedef XrFlags64 XrCompositionLayerSecureContentFlagsFB;
+
+// Flag bits for XrCompositionLayerSecureContentFlagsFB
+static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB = 0x00000001;
+static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB = 0x00000002;
+
 // XrCompositionLayerAlphaBlendFB extends XrCompositionLayerBaseHeader
 typedef struct XrCompositionLayerAlphaBlendFB {
     XrStructureType       type;
@@ -3316,12 +3324,6 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetSwapchainStateFB(
 #define XR_FB_composition_layer_secure_content 1
 #define XR_FB_composition_layer_secure_content_SPEC_VERSION 1
 #define XR_FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME "XR_FB_composition_layer_secure_content"
-typedef XrFlags64 XrCompositionLayerSecureContentFlagsFB;
-
-// Flag bits for XrCompositionLayerSecureContentFlagsFB
-static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB = 0x00000001;
-static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB = 0x00000002;
-
 // XrCompositionLayerSecureContentFB extends XrCompositionLayerBaseHeader
 typedef struct XrCompositionLayerSecureContentFB {
     XrStructureType                           type;
@@ -3571,10 +3573,10 @@ typedef struct XrHandJointsMotionRangeInfoEXT {
 // XR_MSFT_scene_understanding is a preprocessor guard. Do not pass it to API calls.
 #define XR_MSFT_scene_understanding 1
 
-            XR_DEFINE_HANDLE(XrSceneObserverMSFT)
+            XR_DEFINE_HANDLE(XrSceneMSFT)
 
 
-            XR_DEFINE_HANDLE(XrSceneMSFT)
+            XR_DEFINE_HANDLE(XrSceneObserverMSFT)
 
 #define XR_MSFT_scene_understanding_SPEC_VERSION 2
 #define XR_MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME "XR_MSFT_scene_understanding"
@@ -9993,7 +9995,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrEndAudioPeriodBD(
 typedef enum XrHandTrackingDataSourceEXT {
     XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_EXT = 1,
     XR_HAND_TRACKING_DATA_SOURCE_CONTROLLER_EXT = 2,
-    XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_WIDE_MOTION_META = 1000686000,
+    XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_WIDE_MOTION_META = 1000695000,
     XR_HAND_TRACKING_DATA_SOURCE_MAX_ENUM_EXT = 0x7FFFFFFF
 } XrHandTrackingDataSourceEXT;
 // XrHandTrackingDataSourceInfoEXT extends XrHandTrackerCreateInfoEXT
@@ -13256,6 +13258,52 @@ XRAPI_ATTR XrResult XRAPI_CALL xrHapticParametricGetPropertiesEXT(
 #endif /* !XR_NO_PROTOTYPES */
 
 
+// XR_SONY_swapchain_color_space is a preprocessor guard. Do not pass it to API calls.
+#define XR_SONY_swapchain_color_space 1
+#define XR_SONY_swapchain_color_space_SPEC_VERSION 1
+#define XR_SONY_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "XR_SONY_swapchain_color_space"
+
+typedef enum XrColorSpaceSONY {
+    XR_COLOR_SPACE_SRGB_NONLINEAR_SONY = 0,
+    XR_COLOR_SPACE_DISPLAY_P3_LINEAR_SONY = 1,
+    XR_COLOR_SPACE_DISPLAY_P3_NONLINEAR_SONY = 2,
+    XR_COLOR_SPACE_DCI_P3_LINEAR_SONY = 3,
+    XR_COLOR_SPACE_DCI_P3_NONLINEAR_SONY = 4,
+    XR_COLOR_SPACE_EXTENDED_SRGB_LINEAR_SONY = 5,
+    XR_COLOR_SPACE_BT709_LINEAR_SONY = 6,
+    XR_COLOR_SPACE_BT709_NONLINEAR_SONY = 7,
+    XR_COLOR_SPACE_BT2020_LINEAR_SONY = 8,
+    XR_COLOR_SPACE_BT2020_PQ_SONY = 9,
+    XR_COLOR_SPACE_BT2020_HLG_SONY = 10,
+    XR_COLOR_SPACE_MAX_ENUM_SONY = 0x7FFFFFFF
+} XrColorSpaceSONY;
+typedef struct XrColorSpacesEnumerateInfoSONY {
+    XrStructureType             type;
+    const void* XR_MAY_ALIAS    next;
+    int64_t                     format;
+} XrColorSpacesEnumerateInfoSONY;
+
+// XrSwapchainCreateInfoColorSpaceSONY extends XrSwapchainCreateInfo
+typedef struct XrSwapchainCreateInfoColorSpaceSONY {
+    XrStructureType             type;
+    const void* XR_MAY_ALIAS    next;
+    XrColorSpaceSONY            colorSpace;
+} XrSwapchainCreateInfoColorSpaceSONY;
+
+typedef XrResult (XRAPI_PTR *PFN_xrEnumerateColorSpacesSONY)(XrSession session, const XrColorSpacesEnumerateInfoSONY* enumerateInfo, uint32_t colorSpaceCapacityInput, uint32_t* colorSpaceCountOutput, XrColorSpaceSONY* colorSpaces);
+
+#ifndef XR_NO_PROTOTYPES
+#ifdef XR_EXTENSION_PROTOTYPES
+XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateColorSpacesSONY(
+    XrSession                                   session,
+    const XrColorSpacesEnumerateInfoSONY*       enumerateInfo,
+    uint32_t                                    colorSpaceCapacityInput,
+    uint32_t*                                   colorSpaceCountOutput,
+    XrColorSpaceSONY*                           colorSpaces);
+#endif /* XR_EXTENSION_PROTOTYPES */
+#endif /* !XR_NO_PROTOTYPES */
+
+
 // XR_EXT_spatial_persistence_operations is a preprocessor guard. Do not pass it to API calls.
 #define XR_EXT_spatial_persistence_operations 1
 #define XR_EXT_spatial_persistence_operations_SPEC_VERSION 1

+ 10 - 10
src/video/khronos/openxr/openxr_loader_negotiation.h

@@ -83,6 +83,16 @@ typedef struct XrApiLayerCreateInfo {
     XrApiLayerNextInfo*         nextInfo;
 } XrApiLayerCreateInfo;
 
+typedef struct XrNegotiateApiLayerRequest {
+    XrLoaderInterfaceStructs        structType;
+    uint32_t                        structVersion;
+    size_t                          structSize;
+    uint32_t                        layerInterfaceVersion;
+    XrVersion                       layerApiVersion;
+    PFN_xrGetInstanceProcAddr       getInstanceProcAddr;
+    PFN_xrCreateApiLayerInstance    createApiLayerInstance;
+} XrNegotiateApiLayerRequest;
+
 typedef struct XrNegotiateLoaderInfo {
     XrLoaderInterfaceStructs    structType;
     uint32_t                    structVersion;
@@ -102,16 +112,6 @@ typedef struct XrNegotiateRuntimeRequest {
     PFN_xrGetInstanceProcAddr    getInstanceProcAddr;
 } XrNegotiateRuntimeRequest;
 
-typedef struct XrNegotiateApiLayerRequest {
-    XrLoaderInterfaceStructs        structType;
-    uint32_t                        structVersion;
-    size_t                          structSize;
-    uint32_t                        layerInterfaceVersion;
-    XrVersion                       layerApiVersion;
-    PFN_xrGetInstanceProcAddr       getInstanceProcAddr;
-    PFN_xrCreateApiLayerInstance    createApiLayerInstance;
-} XrNegotiateApiLayerRequest;
-
 typedef XrResult (XRAPI_PTR *PFN_xrCreateApiLayerInstance)(const XrInstanceCreateInfo* info, const XrApiLayerCreateInfo* layerInfo, XrInstance* instance);
 typedef XrResult (XRAPI_PTR *PFN_xrNegotiateLoaderRuntimeInterface)(const XrNegotiateLoaderInfo* loaderInfo, XrNegotiateRuntimeRequest* runtimeRequest);
 typedef XrResult (XRAPI_PTR *PFN_xrNegotiateLoaderApiLayerInterface)(const XrNegotiateLoaderInfo* loaderInfo, const char* layerName, XrNegotiateApiLayerRequest* apiLayerRequest);

+ 112 - 73
src/video/khronos/openxr/openxr_reflection.h

@@ -774,8 +774,8 @@ XR_ENUM_STR(XrResult);
     _(XR_TYPE_ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META, 1000592005) \
     _(XR_TYPE_TILE_PROPERTIES_META, 1000609000) \
     _(XR_TYPE_TILE_PROPERTIES_HINT_META, 1000609001) \
-    _(XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_REQUEST_META, 1000683000) \
-    _(XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_META, 1000683001) \
+    _(XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_REQUEST_META, 1000693000) \
+    _(XR_TYPE_HAND_TRACKING_UNEXTRAPOLATED_POSES_META, 1000693001) \
     _(XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID, 1000700000) \
     _(XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID, 1000700001) \
     _(XR_TYPE_LIGHT_ESTIMATE_ANDROID, 1000700002) \
@@ -857,6 +857,8 @@ XR_ENUM_STR(XrResult);
     _(XR_TYPE_HAPTIC_PARAMETRIC_VIBRATION_EXT, 1000775000) \
     _(XR_TYPE_HAPTIC_PARAMETRIC_PROPERTIES_EXT, 1000775001) \
     _(XR_TYPE_SYSTEM_HAPTIC_PARAMETRIC_PROPERTIES_EXT, 1000775002) \
+    _(XR_TYPE_COLOR_SPACES_ENUMERATE_INFO_SONY, 1000776000) \
+    _(XR_TYPE_SWAPCHAIN_CREATE_INFO_COLOR_SPACE_SONY, 1000776001) \
     _(XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT, 1000781000) \
     _(XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT, 1000781001) \
     _(XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT, 1000781002) \
@@ -897,6 +899,12 @@ XR_ENUM_STR(XrResult);
     _(XR_FORM_FACTOR_HANDHELD_DISPLAY, 2) \
     _(XR_FORM_FACTOR_MAX_ENUM, 0x7FFFFFFF)
 
+#define XR_LIST_ENUM_XrEnvironmentBlendMode(_) \
+    _(XR_ENVIRONMENT_BLEND_MODE_OPAQUE, 1) \
+    _(XR_ENVIRONMENT_BLEND_MODE_ADDITIVE, 2) \
+    _(XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND, 3) \
+    _(XR_ENVIRONMENT_BLEND_MODE_MAX_ENUM, 0x7FFFFFFF)
+
 #define XR_LIST_ENUM_XrViewConfigurationType(_) \
     _(XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO, 1) \
     _(XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO, 2) \
@@ -904,12 +912,6 @@ XR_ENUM_STR(XrResult);
     _(XR_VIEW_CONFIGURATION_TYPE_SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT, 1000054000) \
     _(XR_VIEW_CONFIGURATION_TYPE_MAX_ENUM, 0x7FFFFFFF)
 
-#define XR_LIST_ENUM_XrEnvironmentBlendMode(_) \
-    _(XR_ENVIRONMENT_BLEND_MODE_OPAQUE, 1) \
-    _(XR_ENVIRONMENT_BLEND_MODE_ADDITIVE, 2) \
-    _(XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND, 3) \
-    _(XR_ENVIRONMENT_BLEND_MODE_MAX_ENUM, 0x7FFFFFFF)
-
 #define XR_LIST_ENUM_XrReferenceSpaceType(_) \
     _(XR_REFERENCE_SPACE_TYPE_VIEW, 1) \
     _(XR_REFERENCE_SPACE_TYPE_LOCAL, 2) \
@@ -922,6 +924,12 @@ XR_ENUM_STR(XrResult);
     _(XR_REFERENCE_SPACE_TYPE_STATIONARY_EXT, 1000742000) \
     _(XR_REFERENCE_SPACE_TYPE_MAX_ENUM, 0x7FFFFFFF)
 
+#define XR_LIST_ENUM_XrEyeVisibility(_) \
+    _(XR_EYE_VISIBILITY_BOTH, 0) \
+    _(XR_EYE_VISIBILITY_LEFT, 1) \
+    _(XR_EYE_VISIBILITY_RIGHT, 2) \
+    _(XR_EYE_VISIBILITY_MAX_ENUM, 0x7FFFFFFF)
+
 #define XR_LIST_ENUM_XrActionType(_) \
     _(XR_ACTION_TYPE_BOOLEAN_INPUT, 1) \
     _(XR_ACTION_TYPE_FLOAT_INPUT, 2) \
@@ -930,12 +938,6 @@ XR_ENUM_STR(XrResult);
     _(XR_ACTION_TYPE_VIBRATION_OUTPUT, 100) \
     _(XR_ACTION_TYPE_MAX_ENUM, 0x7FFFFFFF)
 
-#define XR_LIST_ENUM_XrEyeVisibility(_) \
-    _(XR_EYE_VISIBILITY_BOTH, 0) \
-    _(XR_EYE_VISIBILITY_LEFT, 1) \
-    _(XR_EYE_VISIBILITY_RIGHT, 2) \
-    _(XR_EYE_VISIBILITY_MAX_ENUM, 0x7FFFFFFF)
-
 #define XR_LIST_ENUM_XrSessionState(_) \
     _(XR_SESSION_STATE_UNKNOWN, 0) \
     _(XR_SESSION_STATE_IDLE, 1) \
@@ -2270,7 +2272,7 @@ XR_ENUM_STR(XrResult);
 #define XR_LIST_ENUM_XrHandTrackingDataSourceEXT(_) \
     _(XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_EXT, 1) \
     _(XR_HAND_TRACKING_DATA_SOURCE_CONTROLLER_EXT, 2) \
-    _(XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_WIDE_MOTION_META, 1000686000) \
+    _(XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_WIDE_MOTION_META, 1000695000) \
     _(XR_HAND_TRACKING_DATA_SOURCE_MAX_ENUM_EXT, 0x7FFFFFFF)
 
 #define XR_LIST_ENUM_XrPlaneDetectorOrientationEXT(_) \
@@ -2793,6 +2795,20 @@ XR_ENUM_STR(XrResult);
     _(XR_HAPTIC_PARAMETRIC_STREAM_FRAME_TYPE_LAST_FRAME_EXT, 3) \
     _(XR_HAPTIC_PARAMETRIC_STREAM_FRAME_TYPE_MAX_ENUM_EXT, 0x7FFFFFFF)
 
+#define XR_LIST_ENUM_XrColorSpaceSONY(_) \
+    _(XR_COLOR_SPACE_SRGB_NONLINEAR_SONY, 0) \
+    _(XR_COLOR_SPACE_DISPLAY_P3_LINEAR_SONY, 1) \
+    _(XR_COLOR_SPACE_DISPLAY_P3_NONLINEAR_SONY, 2) \
+    _(XR_COLOR_SPACE_DCI_P3_LINEAR_SONY, 3) \
+    _(XR_COLOR_SPACE_DCI_P3_NONLINEAR_SONY, 4) \
+    _(XR_COLOR_SPACE_EXTENDED_SRGB_LINEAR_SONY, 5) \
+    _(XR_COLOR_SPACE_BT709_LINEAR_SONY, 6) \
+    _(XR_COLOR_SPACE_BT709_NONLINEAR_SONY, 7) \
+    _(XR_COLOR_SPACE_BT2020_LINEAR_SONY, 8) \
+    _(XR_COLOR_SPACE_BT2020_PQ_SONY, 9) \
+    _(XR_COLOR_SPACE_BT2020_HLG_SONY, 10) \
+    _(XR_COLOR_SPACE_MAX_ENUM_SONY, 0x7FFFFFFF)
+
 #define XR_LIST_ENUM_XrSpatialObjectSemanticLabelANDROID(_) \
     _(XR_SPATIAL_OBJECT_SEMANTIC_LABEL_UNCATEGORIZED_ANDROID, 0) \
     _(XR_SPATIAL_OBJECT_SEMANTIC_LABEL_KEYBOARD_ANDROID, 1) \
@@ -2827,16 +2843,16 @@ XR_ENUM_STR(XrResult);
 
 #define XR_LIST_BITS_XrSessionCreateFlags(_)
 
-#define XR_LIST_BITS_XrSpaceVelocityFlags(_) \
-    _(XR_SPACE_VELOCITY_LINEAR_VALID_BIT, 0x00000001) \
-    _(XR_SPACE_VELOCITY_ANGULAR_VALID_BIT, 0x00000002) \
-
 #define XR_LIST_BITS_XrSpaceLocationFlags(_) \
     _(XR_SPACE_LOCATION_ORIENTATION_VALID_BIT, 0x00000001) \
     _(XR_SPACE_LOCATION_POSITION_VALID_BIT, 0x00000002) \
     _(XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT, 0x00000004) \
     _(XR_SPACE_LOCATION_POSITION_TRACKED_BIT, 0x00000008) \
 
+#define XR_LIST_BITS_XrSpaceVelocityFlags(_) \
+    _(XR_SPACE_VELOCITY_LINEAR_VALID_BIT, 0x00000001) \
+    _(XR_SPACE_VELOCITY_ANGULAR_VALID_BIT, 0x00000002) \
+
 #define XR_LIST_BITS_XrSwapchainCreateFlags(_) \
     _(XR_SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT, 0x00000001) \
     _(XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT, 0x00000002) \
@@ -2893,14 +2909,14 @@ XR_ENUM_STR(XrResult);
 #define XR_LIST_BITS_XrCompositionLayerImageLayoutFlagsFB(_) \
     _(XR_COMPOSITION_LAYER_IMAGE_LAYOUT_VERTICAL_FLIP_BIT_FB, 0x00000001) \
 
-#define XR_LIST_BITS_XrAndroidSurfaceSwapchainFlagsFB(_) \
-    _(XR_ANDROID_SURFACE_SWAPCHAIN_SYNCHRONOUS_BIT_FB, 0x00000001) \
-    _(XR_ANDROID_SURFACE_SWAPCHAIN_USE_TIMESTAMPS_BIT_FB, 0x00000002) \
-
 #define XR_LIST_BITS_XrCompositionLayerSecureContentFlagsFB(_) \
     _(XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB, 0x00000001) \
     _(XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB, 0x00000002) \
 
+#define XR_LIST_BITS_XrAndroidSurfaceSwapchainFlagsFB(_) \
+    _(XR_ANDROID_SURFACE_SWAPCHAIN_SYNCHRONOUS_BIT_FB, 0x00000001) \
+    _(XR_ANDROID_SURFACE_SWAPCHAIN_USE_TIMESTAMPS_BIT_FB, 0x00000002) \
+
 #define XR_LIST_BITS_XrHandTrackingAimFlagsFB(_) \
     _(XR_HAND_TRACKING_AIM_COMPUTED_BIT_FB, 0x00000001) \
     _(XR_HAND_TRACKING_AIM_VALID_BIT_FB, 0x00000002) \
@@ -3171,26 +3187,18 @@ XR_ENUM_STR(XrResult);
     _(createFlags) \
     _(systemId) \
 
-/// Calls your macro with the name of each member of XrVector3f, in order.
-#define XR_LIST_STRUCT_XrVector3f(_) \
+/// Calls your macro with the name of each member of XrQuaternionf, in order.
+#define XR_LIST_STRUCT_XrQuaternionf(_) \
     _(x) \
     _(y) \
     _(z) \
+    _(w) \
 
-/// Calls your macro with the name of each member of XrSpaceVelocity, in order.
-#define XR_LIST_STRUCT_XrSpaceVelocity(_) \
-    _(type) \
-    _(next) \
-    _(velocityFlags) \
-    _(linearVelocity) \
-    _(angularVelocity) \
-
-/// Calls your macro with the name of each member of XrQuaternionf, in order.
-#define XR_LIST_STRUCT_XrQuaternionf(_) \
+/// Calls your macro with the name of each member of XrVector3f, in order.
+#define XR_LIST_STRUCT_XrVector3f(_) \
     _(x) \
     _(y) \
     _(z) \
-    _(w) \
 
 /// Calls your macro with the name of each member of XrPosef, in order.
 #define XR_LIST_STRUCT_XrPosef(_) \
@@ -3204,11 +3212,6 @@ XR_ENUM_STR(XrResult);
     _(referenceSpaceType) \
     _(poseInReferenceSpace) \
 
-/// Calls your macro with the name of each member of XrExtent2Df, in order.
-#define XR_LIST_STRUCT_XrExtent2Df(_) \
-    _(width) \
-    _(height) \
-
 /// Calls your macro with the name of each member of XrActionSpaceCreateInfo, in order.
 #define XR_LIST_STRUCT_XrActionSpaceCreateInfo(_) \
     _(type) \
@@ -3224,6 +3227,19 @@ XR_ENUM_STR(XrResult);
     _(locationFlags) \
     _(pose) \
 
+/// Calls your macro with the name of each member of XrSpaceVelocity, in order.
+#define XR_LIST_STRUCT_XrSpaceVelocity(_) \
+    _(type) \
+    _(next) \
+    _(velocityFlags) \
+    _(linearVelocity) \
+    _(angularVelocity) \
+
+/// Calls your macro with the name of each member of XrExtent2Df, in order.
+#define XR_LIST_STRUCT_XrExtent2Df(_) \
+    _(width) \
+    _(height) \
+
 /// Calls your macro with the name of each member of XrViewConfigurationProperties, in order.
 #define XR_LIST_STRUCT_XrViewConfigurationProperties(_) \
     _(type) \
@@ -3283,11 +3299,6 @@ XR_ENUM_STR(XrResult);
     _(next) \
     _(primaryViewConfigurationType) \
 
-/// Calls your macro with the name of each member of XrFrameWaitInfo, in order.
-#define XR_LIST_STRUCT_XrFrameWaitInfo(_) \
-    _(type) \
-    _(next) \
-
 /// Calls your macro with the name of each member of XrFrameState, in order.
 #define XR_LIST_STRUCT_XrFrameState(_) \
     _(type) \
@@ -3296,6 +3307,11 @@ XR_ENUM_STR(XrResult);
     _(predictedDisplayPeriod) \
     _(shouldRender) \
 
+/// Calls your macro with the name of each member of XrFrameWaitInfo, in order.
+#define XR_LIST_STRUCT_XrFrameWaitInfo(_) \
+    _(type) \
+    _(next) \
+
 /// Calls your macro with the name of each member of XrFrameBeginInfo, in order.
 #define XR_LIST_STRUCT_XrFrameBeginInfo(_) \
     _(type) \
@@ -3317,6 +3333,12 @@ XR_ENUM_STR(XrResult);
     _(layerCount) \
     _(layers) \
 
+/// Calls your macro with the name of each member of XrViewState, in order.
+#define XR_LIST_STRUCT_XrViewState(_) \
+    _(type) \
+    _(next) \
+    _(viewStateFlags) \
+
 /// Calls your macro with the name of each member of XrViewLocateInfo, in order.
 #define XR_LIST_STRUCT_XrViewLocateInfo(_) \
     _(type) \
@@ -3325,12 +3347,6 @@ XR_ENUM_STR(XrResult);
     _(displayTime) \
     _(space) \
 
-/// Calls your macro with the name of each member of XrViewState, in order.
-#define XR_LIST_STRUCT_XrViewState(_) \
-    _(type) \
-    _(next) \
-    _(viewStateFlags) \
-
 /// Calls your macro with the name of each member of XrFovf, in order.
 #define XR_LIST_STRUCT_XrFovf(_) \
     _(angleLeft) \
@@ -3459,6 +3475,11 @@ XR_ENUM_STR(XrResult);
     _(sourcePath) \
     _(whichComponents) \
 
+/// Calls your macro with the name of each member of XrHapticBaseHeader, in order.
+#define XR_LIST_STRUCT_XrHapticBaseHeader(_) \
+    _(type) \
+    _(next) \
+
 /// Calls your macro with the name of each member of XrHapticActionInfo, in order.
 #define XR_LIST_STRUCT_XrHapticActionInfo(_) \
     _(type) \
@@ -3466,11 +3487,6 @@ XR_ENUM_STR(XrResult);
     _(action) \
     _(subactionPath) \
 
-/// Calls your macro with the name of each member of XrHapticBaseHeader, in order.
-#define XR_LIST_STRUCT_XrHapticBaseHeader(_) \
-    _(type) \
-    _(next) \
-
 /// Calls your macro with the name of each member of XrBaseInStructure, in order.
 #define XR_LIST_STRUCT_XrBaseInStructure(_) \
     _(type) \
@@ -3622,6 +3638,16 @@ XR_ENUM_STR(XrResult);
     _(settings_file_location) \
     _(nextInfo) \
 
+/// Calls your macro with the name of each member of XrNegotiateApiLayerRequest, in order.
+#define XR_LIST_STRUCT_XrNegotiateApiLayerRequest(_) \
+    _(structType) \
+    _(structVersion) \
+    _(structSize) \
+    _(layerInterfaceVersion) \
+    _(layerApiVersion) \
+    _(getInstanceProcAddr) \
+    _(createApiLayerInstance) \
+
 /// Calls your macro with the name of each member of XrNegotiateLoaderInfo, in order.
 #define XR_LIST_STRUCT_XrNegotiateLoaderInfo(_) \
     _(structType) \
@@ -3641,16 +3667,6 @@ XR_ENUM_STR(XrResult);
     _(runtimeApiVersion) \
     _(getInstanceProcAddr) \
 
-/// Calls your macro with the name of each member of XrNegotiateApiLayerRequest, in order.
-#define XR_LIST_STRUCT_XrNegotiateApiLayerRequest(_) \
-    _(structType) \
-    _(structVersion) \
-    _(structSize) \
-    _(layerInterfaceVersion) \
-    _(layerApiVersion) \
-    _(getInstanceProcAddr) \
-    _(createApiLayerInstance) \
-
 /// Calls your macro with the name of each member of XrColor3f, in order.
 #define XR_LIST_STRUCT_XrColor3f(_) \
     _(r) \
@@ -8489,6 +8505,18 @@ XR_ENUM_STR(XrResult);
     _(next) \
     _(supportsParametricHaptics) \
 
+/// Calls your macro with the name of each member of XrColorSpacesEnumerateInfoSONY, in order.
+#define XR_LIST_STRUCT_XrColorSpacesEnumerateInfoSONY(_) \
+    _(type) \
+    _(next) \
+    _(format) \
+
+/// Calls your macro with the name of each member of XrSwapchainCreateInfoColorSpaceSONY, in order.
+#define XR_LIST_STRUCT_XrSwapchainCreateInfoColorSpaceSONY(_) \
+    _(type) \
+    _(next) \
+    _(colorSpace) \
+
 /// Calls your macro with the name of each member of XrSpatialEntityPersistInfoEXT, in order.
 #define XR_LIST_STRUCT_XrSpatialEntityPersistInfoEXT(_) \
     _(type) \
@@ -8780,10 +8808,10 @@ XR_ENUM_STR(XrResult);
     _(XrSystemGetInfo, XR_TYPE_SYSTEM_GET_INFO) \
     _(XrSystemProperties, XR_TYPE_SYSTEM_PROPERTIES) \
     _(XrSessionCreateInfo, XR_TYPE_SESSION_CREATE_INFO) \
-    _(XrSpaceVelocity, XR_TYPE_SPACE_VELOCITY) \
     _(XrReferenceSpaceCreateInfo, XR_TYPE_REFERENCE_SPACE_CREATE_INFO) \
     _(XrActionSpaceCreateInfo, XR_TYPE_ACTION_SPACE_CREATE_INFO) \
     _(XrSpaceLocation, XR_TYPE_SPACE_LOCATION) \
+    _(XrSpaceVelocity, XR_TYPE_SPACE_VELOCITY) \
     _(XrViewConfigurationProperties, XR_TYPE_VIEW_CONFIGURATION_PROPERTIES) \
     _(XrViewConfigurationView, XR_TYPE_VIEW_CONFIGURATION_VIEW) \
     _(XrSwapchainCreateInfo, XR_TYPE_SWAPCHAIN_CREATE_INFO) \
@@ -8791,12 +8819,12 @@ XR_ENUM_STR(XrResult);
     _(XrSwapchainImageWaitInfo, XR_TYPE_SWAPCHAIN_IMAGE_WAIT_INFO) \
     _(XrSwapchainImageReleaseInfo, XR_TYPE_SWAPCHAIN_IMAGE_RELEASE_INFO) \
     _(XrSessionBeginInfo, XR_TYPE_SESSION_BEGIN_INFO) \
-    _(XrFrameWaitInfo, XR_TYPE_FRAME_WAIT_INFO) \
     _(XrFrameState, XR_TYPE_FRAME_STATE) \
+    _(XrFrameWaitInfo, XR_TYPE_FRAME_WAIT_INFO) \
     _(XrFrameBeginInfo, XR_TYPE_FRAME_BEGIN_INFO) \
     _(XrFrameEndInfo, XR_TYPE_FRAME_END_INFO) \
-    _(XrViewLocateInfo, XR_TYPE_VIEW_LOCATE_INFO) \
     _(XrViewState, XR_TYPE_VIEW_STATE) \
+    _(XrViewLocateInfo, XR_TYPE_VIEW_LOCATE_INFO) \
     _(XrView, XR_TYPE_VIEW) \
     _(XrActionSetCreateInfo, XR_TYPE_ACTION_SET_CREATE_INFO) \
     _(XrActionCreateInfo, XR_TYPE_ACTION_CREATE_INFO) \
@@ -9378,6 +9406,8 @@ XR_ENUM_STR(XrResult);
     _(XrHapticParametricPropertiesEXT, XR_TYPE_HAPTIC_PARAMETRIC_PROPERTIES_EXT) \
     _(XrHapticParametricVibrationEXT, XR_TYPE_HAPTIC_PARAMETRIC_VIBRATION_EXT) \
     _(XrSystemHapticParametricPropertiesEXT, XR_TYPE_SYSTEM_HAPTIC_PARAMETRIC_PROPERTIES_EXT) \
+    _(XrColorSpacesEnumerateInfoSONY, XR_TYPE_COLOR_SPACES_ENUMERATE_INFO_SONY) \
+    _(XrSwapchainCreateInfoColorSpaceSONY, XR_TYPE_SWAPCHAIN_CREATE_INFO_COLOR_SPACE_SONY) \
     _(XrSpatialEntityPersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT) \
     _(XrPersistSpatialEntityCompletionEXT, XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \
     _(XrSpatialEntityUnpersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT) \
@@ -9801,9 +9831,9 @@ XR_ENUM_STR(XrResult);
     _(XR_META_spatial_entity_group_sharing, 573) \
     _(XR_META_environment_raycast, 593) \
     _(XR_META_tile_properties_hint, 610) \
-    _(XR_META_hand_tracking_unextrapolated_poses, 684) \
-    _(XR_META_hand_tracking_frequency_hint, 686) \
-    _(XR_META_hand_tracking_wide_motion_mode2, 687) \
+    _(XR_META_hand_tracking_unextrapolated_poses, 694) \
+    _(XR_META_hand_tracking_frequency_hint, 695) \
+    _(XR_META_hand_tracking_wide_motion_mode2, 696) \
     _(XR_ANDROID_light_estimation, 701) \
     _(XR_ANDROID_anchor_sharing_export, 702) \
     _(XR_ANDROID_mouse_interaction, 705) \
@@ -9825,6 +9855,7 @@ XR_ENUM_STR(XrResult);
     _(XR_EXT_spatial_anchor, 763) \
     _(XR_EXT_spatial_persistence, 764) \
     _(XR_EXT_haptic_parametric, 776) \
+    _(XR_SONY_swapchain_color_space, 777) \
     _(XR_EXT_spatial_persistence_operations, 782) \
     _(XR_ANDROID_spatial_object_tracking, 786) \
     _(XR_ANDROID_spatial_discovery_raycast, 787) \
@@ -11987,6 +12018,14 @@ XR_ENUM_STR(XrResult);
     _(HapticParametricGetPropertiesEXT, EXT_haptic_parametric) \
 
 
+/// For every function defined by XR_SONY_swapchain_color_space in this version of the spec,
+/// calls your macro with the function name and extension name.
+/// Trims the leading `xr` from the function name and the leading `XR_` from the feature name,
+/// because it is easy to add back but impossible to remove with the preprocessor.
+#define XR_LIST_FUNCTIONS_XR_SONY_swapchain_color_space(_) \
+    _(EnumerateColorSpacesSONY, SONY_swapchain_color_space) \
+
+
 /// For every function defined by XR_EXT_spatial_persistence_operations in this version of the spec,
 /// calls your macro with the function name and extension name.
 /// Trims the leading `xr` from the function name and the leading `XR_` from the feature name,

+ 5 - 3
src/video/khronos/openxr/openxr_reflection_structs.h

@@ -52,10 +52,10 @@ This file contains expansion macros (X Macros) for OpenXR structures.
     _avail(XrSystemGetInfo, XR_TYPE_SYSTEM_GET_INFO) \
     _avail(XrSystemProperties, XR_TYPE_SYSTEM_PROPERTIES) \
     _avail(XrSessionCreateInfo, XR_TYPE_SESSION_CREATE_INFO) \
-    _avail(XrSpaceVelocity, XR_TYPE_SPACE_VELOCITY) \
     _avail(XrReferenceSpaceCreateInfo, XR_TYPE_REFERENCE_SPACE_CREATE_INFO) \
     _avail(XrActionSpaceCreateInfo, XR_TYPE_ACTION_SPACE_CREATE_INFO) \
     _avail(XrSpaceLocation, XR_TYPE_SPACE_LOCATION) \
+    _avail(XrSpaceVelocity, XR_TYPE_SPACE_VELOCITY) \
     _avail(XrViewConfigurationProperties, XR_TYPE_VIEW_CONFIGURATION_PROPERTIES) \
     _avail(XrViewConfigurationView, XR_TYPE_VIEW_CONFIGURATION_VIEW) \
     _avail(XrSwapchainCreateInfo, XR_TYPE_SWAPCHAIN_CREATE_INFO) \
@@ -63,12 +63,12 @@ This file contains expansion macros (X Macros) for OpenXR structures.
     _avail(XrSwapchainImageWaitInfo, XR_TYPE_SWAPCHAIN_IMAGE_WAIT_INFO) \
     _avail(XrSwapchainImageReleaseInfo, XR_TYPE_SWAPCHAIN_IMAGE_RELEASE_INFO) \
     _avail(XrSessionBeginInfo, XR_TYPE_SESSION_BEGIN_INFO) \
-    _avail(XrFrameWaitInfo, XR_TYPE_FRAME_WAIT_INFO) \
     _avail(XrFrameState, XR_TYPE_FRAME_STATE) \
+    _avail(XrFrameWaitInfo, XR_TYPE_FRAME_WAIT_INFO) \
     _avail(XrFrameBeginInfo, XR_TYPE_FRAME_BEGIN_INFO) \
     _avail(XrFrameEndInfo, XR_TYPE_FRAME_END_INFO) \
-    _avail(XrViewLocateInfo, XR_TYPE_VIEW_LOCATE_INFO) \
     _avail(XrViewState, XR_TYPE_VIEW_STATE) \
+    _avail(XrViewLocateInfo, XR_TYPE_VIEW_LOCATE_INFO) \
     _avail(XrView, XR_TYPE_VIEW) \
     _avail(XrActionSetCreateInfo, XR_TYPE_ACTION_SET_CREATE_INFO) \
     _avail(XrActionCreateInfo, XR_TYPE_ACTION_CREATE_INFO) \
@@ -650,6 +650,8 @@ This file contains expansion macros (X Macros) for OpenXR structures.
     _avail(XrHapticParametricPropertiesEXT, XR_TYPE_HAPTIC_PARAMETRIC_PROPERTIES_EXT) \
     _avail(XrHapticParametricVibrationEXT, XR_TYPE_HAPTIC_PARAMETRIC_VIBRATION_EXT) \
     _avail(XrSystemHapticParametricPropertiesEXT, XR_TYPE_SYSTEM_HAPTIC_PARAMETRIC_PROPERTIES_EXT) \
+    _avail(XrColorSpacesEnumerateInfoSONY, XR_TYPE_COLOR_SPACES_ENUMERATE_INFO_SONY) \
+    _avail(XrSwapchainCreateInfoColorSpaceSONY, XR_TYPE_SWAPCHAIN_CREATE_INFO_COLOR_SPACE_SONY) \
     _avail(XrSpatialEntityPersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT) \
     _avail(XrPersistSpatialEntityCompletionEXT, XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \
     _avail(XrSpatialEntityUnpersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT) \

+ 2 - 0
src/video/khronos/vk_video/vulkan_video_codec_h264std.h

@@ -44,6 +44,8 @@ typedef enum StdVideoH264ProfileIdc {
     STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66,
     STD_VIDEO_H264_PROFILE_IDC_MAIN = 77,
     STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
+    STD_VIDEO_H264_PROFILE_IDC_HIGH_10 = 110,
+    STD_VIDEO_H264_PROFILE_IDC_HIGH_422 = 122,
     STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
     STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF,
     STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF

+ 83 - 2
src/video/khronos/vulkan/vulkan_core.h

@@ -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 356
+#define VK_HEADER_VERSION 358
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
@@ -1487,6 +1487,8 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM = 1000676001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM = 1000676002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT = 1000678000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_TILING_CONTROL_FEATURES_EXT = 1000687000,
+    VK_STRUCTURE_TYPE_IMAGE_TILING_CONTROL_CREATE_INFO_EXT = 1000687001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV = 1000689000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
@@ -20332,7 +20334,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdEndPerTileExecutionQCOM(
 
 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls.
 #define VK_NV_low_latency 1
-#define VK_NV_LOW_LATENCY_SPEC_VERSION    1
+#define VK_NV_LOW_LATENCY_SPEC_VERSION    2
 #define VK_NV_LOW_LATENCY_EXTENSION_NAME  "VK_NV_low_latency"
 typedef struct VkQueryLowLatencySupportNV {
     VkStructureType    sType;
@@ -20340,6 +20342,60 @@ typedef struct VkQueryLowLatencySupportNV {
     void*              pQueriedLowLatencyData;
 } VkQueryLowLatencySupportNV;
 
+typedef void (VKAPI_PTR *PFN_vkSetLatencySleepModeLegacyNV)(VkDevice device, VkBool32 lowLatencyMode, VkBool32 lowLatencyBoost, uint32_t minimumIntervalUs);
+typedef void (VKAPI_PTR *PFN_vkLatencySleepLegacyNV)(VkDevice device, VkSemaphore signalSemaphore, uint64_t value);
+typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerLegacyNV)(VkDevice device, uint64_t frameID, uint32_t marker);
+typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsLegacyNV)(VkDevice device, void* pTimings);
+typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandLegacyNV)(VkQueue queue, uint32_t queueType);
+typedef void (VKAPI_PTR *PFN_vkGetSleepStatusLegacyNV)(VkDevice device, VkBool32* pLowLatencyMode);
+typedef void (VKAPI_PTR *PFN_vkShutdownLatencyDeviceLegacyNV)(VkDevice device);
+
+#ifndef VK_NO_PROTOTYPES
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkSetLatencySleepModeLegacyNV(
+    VkDevice                                    device,
+    VkBool32                                    lowLatencyMode,
+    VkBool32                                    lowLatencyBoost,
+    uint32_t                                    minimumIntervalUs);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkLatencySleepLegacyNV(
+    VkDevice                                    device,
+    VkSemaphore                                 signalSemaphore,
+    uint64_t                                    value);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerLegacyNV(
+    VkDevice                                    device,
+    uint64_t                                    frameID,
+    uint32_t                                    marker);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsLegacyNV(
+    VkDevice                                    device,
+    void*                                       pTimings);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandLegacyNV(
+    VkQueue                                     queue,
+    uint32_t                                    queueType);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetSleepStatusLegacyNV(
+    VkDevice                                    device,
+    VkBool32*                                   pLowLatencyMode);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkShutdownLatencyDeviceLegacyNV(
+    VkDevice                                    device);
+#endif
+#endif
 
 
 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls.
@@ -26437,6 +26493,31 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartIndexEXT(
 #endif
 
 
+// VK_EXT_image_tiling_control is a preprocessor guard. Do not pass it to API calls.
+#define VK_EXT_image_tiling_control 1
+#define VK_EXT_IMAGE_TILING_CONTROL_SPEC_VERSION 1
+#define VK_EXT_IMAGE_TILING_CONTROL_EXTENSION_NAME "VK_EXT_image_tiling_control"
+
+typedef enum VkImageTilingControlEXT {
+    VK_IMAGE_TILING_CONTROL_DEFAULT_EXT = 0,
+    VK_IMAGE_TILING_CONTROL_MIN_SIZE_EXT = 1,
+    VK_IMAGE_TILING_CONTROL_MAX_PERFORMANCE_EXT = 2,
+    VK_IMAGE_TILING_CONTROL_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkImageTilingControlEXT;
+typedef struct VkPhysicalDeviceImageTilingControlFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           imageTilingControl;
+} VkPhysicalDeviceImageTilingControlFeaturesEXT;
+
+typedef struct VkImageTilingControlCreateInfoEXT {
+    VkStructureType            sType;
+    const void*                pNext;
+    VkImageTilingControlEXT    tilingControl;
+} VkImageTilingControlCreateInfoEXT;
+
+
+
 // VK_NV_cooperative_matrix_decode_vector is a preprocessor guard. Do not pass it to API calls.
 #define VK_NV_cooperative_matrix_decode_vector 1
 #define VK_NV_COOPERATIVE_MATRIX_DECODE_VECTOR_SPEC_VERSION 1