From f661f37ace02358d2266fcc26cb4dc7f3640d416 Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Tue, 4 Aug 2026 03:28:10 +0300 Subject: [PATCH] update khronos headers from mainstream. --- include/SDL3/SDL_opengl_glext.h | 16 +- src/video/khronos/GLES/gl.h | 2 +- src/video/khronos/GLES/glext.h | 2 +- src/video/khronos/GLES2/gl2.h | 2 +- src/video/khronos/GLES2/gl2ext.h | 2 +- src/video/khronos/GLES3/gl3.h | 2 +- src/video/khronos/GLES3/gl31.h | 2 +- src/video/khronos/GLES3/gl32.h | 2 +- src/video/khronos/openxr/openxr.h | 186 ++++++++++------- .../openxr/openxr_loader_negotiation.h | 20 +- src/video/khronos/openxr/openxr_reflection.h | 187 +++++++++++------- .../openxr/openxr_reflection_structs.h | 8 +- .../vk_video/vulkan_video_codec_h264std.h | 2 + src/video/khronos/vulkan/vulkan_core.h | 85 +++++++- 14 files changed, 350 insertions(+), 168 deletions(-) diff --git a/include/SDL3/SDL_opengl_glext.h b/include/SDL3/SDL_opengl_glext.h index 28314682cb..7606f92d15 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 20260609 +#define GL_GLEXT_VERSION 20260803 /*#include */ #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 */ diff --git a/src/video/khronos/GLES/gl.h b/src/video/khronos/GLES/gl.h index 1c60934e50..fe4eb63d65 100644 --- a/src/video/khronos/GLES/gl.h +++ b/src/video/khronos/GLES/gl.h @@ -17,7 +17,7 @@ extern "C" { #include -/* Generated on date 20260319 */ +/* Generated on date 20260803 */ /* Generated C header for: * API: gles1 diff --git a/src/video/khronos/GLES/glext.h b/src/video/khronos/GLES/glext.h index 5414d1dd24..48a9c80b69 100644 --- a/src/video/khronos/GLES/glext.h +++ b/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 diff --git a/src/video/khronos/GLES2/gl2.h b/src/video/khronos/GLES2/gl2.h index fdc46fc951..dd412ec37e 100644 --- a/src/video/khronos/GLES2/gl2.h +++ b/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 diff --git a/src/video/khronos/GLES2/gl2ext.h b/src/video/khronos/GLES2/gl2ext.h index 96e8be78e0..a73444655a 100644 --- a/src/video/khronos/GLES2/gl2ext.h +++ b/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 diff --git a/src/video/khronos/GLES3/gl3.h b/src/video/khronos/GLES3/gl3.h index 388e880fb6..d975bba1ce 100644 --- a/src/video/khronos/GLES3/gl3.h +++ b/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 diff --git a/src/video/khronos/GLES3/gl31.h b/src/video/khronos/GLES3/gl31.h index 8ed7129c51..66d36d1659 100644 --- a/src/video/khronos/GLES3/gl31.h +++ b/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 diff --git a/src/video/khronos/GLES3/gl32.h b/src/video/khronos/GLES3/gl32.h index 56e9214416..ebaf34bf23 100644 --- a/src/video/khronos/GLES3/gl32.h +++ b/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 diff --git a/src/video/khronos/openxr/openxr.h b/src/video/khronos/openxr/openxr.h index eaeb2af43a..5bdff91612 100644 --- a/src/video/khronos/openxr/openxr.h +++ b/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,21 +1299,6 @@ typedef struct XrSessionCreateInfo { XrSystemId systemId; } XrSessionCreateInfo; -typedef struct XrVector3f { - 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; - typedef struct XrQuaternionf { float x; float y; @@ -1319,6 +1306,12 @@ typedef struct XrQuaternionf { float w; } XrQuaternionf; +typedef struct XrVector3f { + float x; + float y; + float z; +} XrVector3f; + typedef struct XrPosef { XrQuaternionf orientation; XrVector3f position; @@ -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,11 +3573,11 @@ 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(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 diff --git a/src/video/khronos/openxr/openxr_loader_negotiation.h b/src/video/khronos/openxr/openxr_loader_negotiation.h index e79e74b0a9..110c53771a 100644 --- a/src/video/khronos/openxr/openxr_loader_negotiation.h +++ b/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); diff --git a/src/video/khronos/openxr/openxr_reflection.h b/src/video/khronos/openxr/openxr_reflection.h index 567cfc2f44..71d7792eab 100644 --- a/src/video/khronos/openxr/openxr_reflection.h +++ b/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,20 +3187,6 @@ XR_ENUM_STR(XrResult); _(createFlags) \ _(systemId) \ -/// Calls your macro with the name of each member of XrVector3f, in order. -#define XR_LIST_STRUCT_XrVector3f(_) \ - _(x) \ - _(y) \ - _(z) \ - -/// 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(_) \ _(x) \ @@ -3192,6 +3194,12 @@ XR_ENUM_STR(XrResult); _(z) \ _(w) \ +/// Calls your macro with the name of each member of XrVector3f, in order. +#define XR_LIST_STRUCT_XrVector3f(_) \ + _(x) \ + _(y) \ + _(z) \ + /// Calls your macro with the name of each member of XrPosef, in order. #define XR_LIST_STRUCT_XrPosef(_) \ _(orientation) \ @@ -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, diff --git a/src/video/khronos/openxr/openxr_reflection_structs.h b/src/video/khronos/openxr/openxr_reflection_structs.h index fdaa2c8bac..442f2dfd9e 100644 --- a/src/video/khronos/openxr/openxr_reflection_structs.h +++ b/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) \ 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 3db81affc7..2ae8932433 100644 --- a/src/video/khronos/vk_video/vulkan_video_codec_h264std.h +++ b/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 diff --git a/src/video/khronos/vulkan/vulkan_core.h b/src/video/khronos/vulkan/vulkan_core.h index 8ed66f020d..c9c6b643c2 100644 --- a/src/video/khronos/vulkan/vulkan_core.h +++ b/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