@@ -35,11 +35,13 @@ typedef enum XrAndroidThreadTypeKHR {
3535typedef XrResult (XRAPI_PTR * PFN_xrSetAndroidApplicationThreadKHR )(XrSession session , XrAndroidThreadTypeKHR threadType , uint32_t threadId );
3636
3737#ifndef XR_NO_PROTOTYPES
38+ #ifdef XR_EXTENSION_PROTOTYPES
3839XRAPI_ATTR XrResult XRAPI_CALL xrSetAndroidApplicationThreadKHR (
3940 XrSession session ,
4041 XrAndroidThreadTypeKHR threadType ,
4142 uint32_t threadId );
42- #endif
43+ #endif /* XR_EXTENSION_PROTOTYPES */
44+ #endif /* !XR_NO_PROTOTYPES */
4345#endif /* XR_USE_PLATFORM_ANDROID */
4446
4547#ifdef XR_USE_PLATFORM_ANDROID
@@ -50,12 +52,14 @@ XRAPI_ATTR XrResult XRAPI_CALL xrSetAndroidApplicationThreadKHR(
5052typedef XrResult (XRAPI_PTR * PFN_xrCreateSwapchainAndroidSurfaceKHR )(XrSession session , const XrSwapchainCreateInfo * info , XrSwapchain * swapchain , jobject * surface );
5153
5254#ifndef XR_NO_PROTOTYPES
55+ #ifdef XR_EXTENSION_PROTOTYPES
5356XRAPI_ATTR XrResult XRAPI_CALL xrCreateSwapchainAndroidSurfaceKHR (
5457 XrSession session ,
5558 const XrSwapchainCreateInfo * info ,
5659 XrSwapchain * swapchain ,
5760 jobject * surface );
58- #endif
61+ #endif /* XR_EXTENSION_PROTOTYPES */
62+ #endif /* !XR_NO_PROTOTYPES */
5963#endif /* XR_USE_PLATFORM_ANDROID */
6064
6165#ifdef XR_USE_PLATFORM_ANDROID
@@ -76,7 +80,7 @@ typedef struct XrInstanceCreateInfoAndroidKHR {
7680#ifdef XR_USE_GRAPHICS_API_VULKAN
7781
7882#define XR_KHR_vulkan_swapchain_format_list 1
79- #define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 3
83+ #define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 4
8084#define XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME "XR_KHR_vulkan_swapchain_format_list"
8185typedef struct XrVulkanSwapchainFormatListCreateInfoKHR {
8286 XrStructureType type ;
@@ -154,11 +158,13 @@ typedef struct XrGraphicsRequirementsOpenGLKHR {
154158typedef XrResult (XRAPI_PTR * PFN_xrGetOpenGLGraphicsRequirementsKHR )(XrInstance instance , XrSystemId systemId , XrGraphicsRequirementsOpenGLKHR * graphicsRequirements );
155159
156160#ifndef XR_NO_PROTOTYPES
161+ #ifdef XR_EXTENSION_PROTOTYPES
157162XRAPI_ATTR XrResult XRAPI_CALL xrGetOpenGLGraphicsRequirementsKHR (
158163 XrInstance instance ,
159164 XrSystemId systemId ,
160165 XrGraphicsRequirementsOpenGLKHR * graphicsRequirements );
161- #endif
166+ #endif /* XR_EXTENSION_PROTOTYPES */
167+ #endif /* !XR_NO_PROTOTYPES */
162168#endif /* XR_USE_GRAPHICS_API_OPENGL */
163169
164170#ifdef XR_USE_GRAPHICS_API_OPENGL_ES
@@ -193,17 +199,19 @@ typedef struct XrGraphicsRequirementsOpenGLESKHR {
193199typedef XrResult (XRAPI_PTR * PFN_xrGetOpenGLESGraphicsRequirementsKHR )(XrInstance instance , XrSystemId systemId , XrGraphicsRequirementsOpenGLESKHR * graphicsRequirements );
194200
195201#ifndef XR_NO_PROTOTYPES
202+ #ifdef XR_EXTENSION_PROTOTYPES
196203XRAPI_ATTR XrResult XRAPI_CALL xrGetOpenGLESGraphicsRequirementsKHR (
197204 XrInstance instance ,
198205 XrSystemId systemId ,
199206 XrGraphicsRequirementsOpenGLESKHR * graphicsRequirements );
200- #endif
207+ #endif /* XR_EXTENSION_PROTOTYPES */
208+ #endif /* !XR_NO_PROTOTYPES */
201209#endif /* XR_USE_GRAPHICS_API_OPENGL_ES */
202210
203211#ifdef XR_USE_GRAPHICS_API_VULKAN
204212
205213#define XR_KHR_vulkan_enable 1
206- #define XR_KHR_vulkan_enable_SPEC_VERSION 7
214+ #define XR_KHR_vulkan_enable_SPEC_VERSION 8
207215#define XR_KHR_VULKAN_ENABLE_EXTENSION_NAME "XR_KHR_vulkan_enable"
208216// XrGraphicsBindingVulkanKHR extends XrSessionCreateInfo
209217typedef struct XrGraphicsBindingVulkanKHR {
@@ -235,6 +243,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsDeviceKHR)(XrInstance instan
235243typedef XrResult (XRAPI_PTR * PFN_xrGetVulkanGraphicsRequirementsKHR )(XrInstance instance , XrSystemId systemId , XrGraphicsRequirementsVulkanKHR * graphicsRequirements );
236244
237245#ifndef XR_NO_PROTOTYPES
246+ #ifdef XR_EXTENSION_PROTOTYPES
238247XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanInstanceExtensionsKHR (
239248 XrInstance instance ,
240249 XrSystemId systemId ,
@@ -259,7 +268,8 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsRequirementsKHR(
259268 XrInstance instance ,
260269 XrSystemId systemId ,
261270 XrGraphicsRequirementsVulkanKHR * graphicsRequirements );
262- #endif
271+ #endif /* XR_EXTENSION_PROTOTYPES */
272+ #endif /* !XR_NO_PROTOTYPES */
263273#endif /* XR_USE_GRAPHICS_API_VULKAN */
264274
265275#ifdef XR_USE_GRAPHICS_API_D3D11
@@ -290,11 +300,13 @@ typedef struct XrGraphicsRequirementsD3D11KHR {
290300typedef XrResult (XRAPI_PTR * PFN_xrGetD3D11GraphicsRequirementsKHR )(XrInstance instance , XrSystemId systemId , XrGraphicsRequirementsD3D11KHR * graphicsRequirements );
291301
292302#ifndef XR_NO_PROTOTYPES
303+ #ifdef XR_EXTENSION_PROTOTYPES
293304XRAPI_ATTR XrResult XRAPI_CALL xrGetD3D11GraphicsRequirementsKHR (
294305 XrInstance instance ,
295306 XrSystemId systemId ,
296307 XrGraphicsRequirementsD3D11KHR * graphicsRequirements );
297- #endif
308+ #endif /* XR_EXTENSION_PROTOTYPES */
309+ #endif /* !XR_NO_PROTOTYPES */
298310#endif /* XR_USE_GRAPHICS_API_D3D11 */
299311
300312#ifdef XR_USE_GRAPHICS_API_D3D12
@@ -326,11 +338,13 @@ typedef struct XrGraphicsRequirementsD3D12KHR {
326338typedef XrResult (XRAPI_PTR * PFN_xrGetD3D12GraphicsRequirementsKHR )(XrInstance instance , XrSystemId systemId , XrGraphicsRequirementsD3D12KHR * graphicsRequirements );
327339
328340#ifndef XR_NO_PROTOTYPES
341+ #ifdef XR_EXTENSION_PROTOTYPES
329342XRAPI_ATTR XrResult XRAPI_CALL xrGetD3D12GraphicsRequirementsKHR (
330343 XrInstance instance ,
331344 XrSystemId systemId ,
332345 XrGraphicsRequirementsD3D12KHR * graphicsRequirements );
333- #endif
346+ #endif /* XR_EXTENSION_PROTOTYPES */
347+ #endif /* !XR_NO_PROTOTYPES */
334348#endif /* XR_USE_GRAPHICS_API_D3D12 */
335349
336350#ifdef XR_USE_PLATFORM_WIN32
@@ -342,6 +356,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrConvertWin32PerformanceCounterToTimeKHR)(XrIn
342356typedef XrResult (XRAPI_PTR * PFN_xrConvertTimeToWin32PerformanceCounterKHR )(XrInstance instance , XrTime time , LARGE_INTEGER * performanceCounter );
343357
344358#ifndef XR_NO_PROTOTYPES
359+ #ifdef XR_EXTENSION_PROTOTYPES
345360XRAPI_ATTR XrResult XRAPI_CALL xrConvertWin32PerformanceCounterToTimeKHR (
346361 XrInstance instance ,
347362 const LARGE_INTEGER * performanceCounter ,
@@ -351,7 +366,8 @@ XRAPI_ATTR XrResult XRAPI_CALL xrConvertTimeToWin32PerformanceCounterKHR(
351366 XrInstance instance ,
352367 XrTime time ,
353368 LARGE_INTEGER * performanceCounter );
354- #endif
369+ #endif /* XR_EXTENSION_PROTOTYPES */
370+ #endif /* !XR_NO_PROTOTYPES */
355371#endif /* XR_USE_PLATFORM_WIN32 */
356372
357373#ifdef XR_USE_TIMESPEC
@@ -363,6 +379,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrConvertTimespecTimeToTimeKHR)(XrInstance inst
363379typedef XrResult (XRAPI_PTR * PFN_xrConvertTimeToTimespecTimeKHR )(XrInstance instance , XrTime time , struct timespec * timespecTime );
364380
365381#ifndef XR_NO_PROTOTYPES
382+ #ifdef XR_EXTENSION_PROTOTYPES
366383XRAPI_ATTR XrResult XRAPI_CALL xrConvertTimespecTimeToTimeKHR (
367384 XrInstance instance ,
368385 const struct timespec * timespecTime ,
@@ -372,7 +389,8 @@ XRAPI_ATTR XrResult XRAPI_CALL xrConvertTimeToTimespecTimeKHR(
372389 XrInstance instance ,
373390 XrTime time ,
374391 struct timespec * timespecTime );
375- #endif
392+ #endif /* XR_EXTENSION_PROTOTYPES */
393+ #endif /* !XR_NO_PROTOTYPES */
376394#endif /* XR_USE_TIMESPEC */
377395
378396#ifdef XR_USE_PLATFORM_ANDROID
@@ -392,7 +410,7 @@ typedef struct XrLoaderInitInfoAndroidKHR {
392410#ifdef XR_USE_GRAPHICS_API_VULKAN
393411
394412#define XR_KHR_vulkan_enable2 1
395- #define XR_KHR_vulkan_enable2_SPEC_VERSION 1
413+ #define XR_KHR_vulkan_enable2_SPEC_VERSION 2
396414#define XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME "XR_KHR_vulkan_enable2"
397415typedef XrFlags64 XrVulkanInstanceCreateFlagsKHR ;
398416
@@ -442,6 +460,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsDevice2KHR)(XrInstance insta
442460typedef XrResult (XRAPI_PTR * PFN_xrGetVulkanGraphicsRequirements2KHR )(XrInstance instance , XrSystemId systemId , XrGraphicsRequirementsVulkanKHR * graphicsRequirements );
443461
444462#ifndef XR_NO_PROTOTYPES
463+ #ifdef XR_EXTENSION_PROTOTYPES
445464XRAPI_ATTR XrResult XRAPI_CALL xrCreateVulkanInstanceKHR (
446465 XrInstance instance ,
447466 const XrVulkanInstanceCreateInfoKHR * createInfo ,
@@ -463,7 +482,8 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsRequirements2KHR(
463482 XrInstance instance ,
464483 XrSystemId systemId ,
465484 XrGraphicsRequirementsVulkanKHR * graphicsRequirements );
466- #endif
485+ #endif /* XR_EXTENSION_PROTOTYPES */
486+ #endif /* !XR_NO_PROTOTYPES */
467487#endif /* XR_USE_GRAPHICS_API_VULKAN */
468488
469489#ifdef XR_USE_PLATFORM_EGL
@@ -492,6 +512,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorFromPerceptionAnchorMSFT)(
492512typedef XrResult (XRAPI_PTR * PFN_xrTryGetPerceptionAnchorFromSpatialAnchorMSFT )(XrSession session , XrSpatialAnchorMSFT anchor , IUnknown * * perceptionAnchor );
493513
494514#ifndef XR_NO_PROTOTYPES
515+ #ifdef XR_EXTENSION_PROTOTYPES
495516XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorFromPerceptionAnchorMSFT (
496517 XrSession session ,
497518 IUnknown * perceptionAnchor ,
@@ -501,7 +522,8 @@ XRAPI_ATTR XrResult XRAPI_CALL xrTryGetPerceptionAnchorFromSpatialAnchorMSFT(
501522 XrSession session ,
502523 XrSpatialAnchorMSFT anchor ,
503524 IUnknown * * perceptionAnchor );
504- #endif
525+ #endif /* XR_EXTENSION_PROTOTYPES */
526+ #endif /* !XR_NO_PROTOTYPES */
505527#endif /* XR_USE_PLATFORM_WIN32 */
506528
507529#ifdef XR_USE_PLATFORM_WIN32
@@ -543,6 +565,93 @@ typedef struct XrAndroidSurfaceSwapchainCreateInfoFB {
543565
544566#endif /* XR_USE_PLATFORM_ANDROID */
545567
568+ #ifdef XR_USE_PLATFORM_WIN32
569+
570+ #define XR_OCULUS_audio_device_guid 1
571+ #define XR_OCULUS_audio_device_guid_SPEC_VERSION 1
572+ #define XR_OCULUS_AUDIO_DEVICE_GUID_EXTENSION_NAME "XR_OCULUS_audio_device_guid"
573+ #define XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS 128
574+ typedef XrResult (XRAPI_PTR * PFN_xrGetAudioOutputDeviceGuidOculus )(XrInstance instance , wchar_t buffer [XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS ]);
575+ typedef XrResult (XRAPI_PTR * PFN_xrGetAudioInputDeviceGuidOculus )(XrInstance instance , wchar_t buffer [XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS ]);
576+
577+ #ifndef XR_NO_PROTOTYPES
578+ #ifdef XR_EXTENSION_PROTOTYPES
579+ XRAPI_ATTR XrResult XRAPI_CALL xrGetAudioOutputDeviceGuidOculus (
580+ XrInstance instance ,
581+ wchar_t buffer [XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS ]);
582+
583+ XRAPI_ATTR XrResult XRAPI_CALL xrGetAudioInputDeviceGuidOculus (
584+ XrInstance instance ,
585+ wchar_t buffer [XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS ]);
586+ #endif /* XR_EXTENSION_PROTOTYPES */
587+ #endif /* !XR_NO_PROTOTYPES */
588+ #endif /* XR_USE_PLATFORM_WIN32 */
589+
590+ #ifdef XR_USE_PLATFORM_ANDROID
591+
592+ #define XR_FB_swapchain_update_state_android_surface 1
593+ #define XR_FB_swapchain_update_state_android_surface_SPEC_VERSION 1
594+ #define XR_FB_SWAPCHAIN_UPDATE_STATE_ANDROID_SURFACE_EXTENSION_NAME "XR_FB_swapchain_update_state_android_surface"
595+ #ifdef XR_USE_PLATFORM_ANDROID
596+ typedef struct XrSwapchainStateAndroidSurfaceDimensionsFB {
597+ XrStructureType type ;
598+ void * XR_MAY_ALIAS next ;
599+ uint32_t width ;
600+ uint32_t height ;
601+ } XrSwapchainStateAndroidSurfaceDimensionsFB ;
602+ #endif // XR_USE_PLATFORM_ANDROID
603+
604+ #endif /* XR_USE_PLATFORM_ANDROID */
605+
606+ #ifdef XR_USE_GRAPHICS_API_OPENGL_ES
607+
608+ #define XR_FB_swapchain_update_state_opengl_es 1
609+ #define XR_FB_swapchain_update_state_opengl_es_SPEC_VERSION 1
610+ #define XR_FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME "XR_FB_swapchain_update_state_opengl_es"
611+ #ifdef XR_USE_GRAPHICS_API_OPENGL_ES
612+ typedef struct XrSwapchainStateSamplerOpenGLESFB {
613+ XrStructureType type ;
614+ void * XR_MAY_ALIAS next ;
615+ EGLenum minFilter ;
616+ EGLenum magFilter ;
617+ EGLenum wrapModeS ;
618+ EGLenum wrapModeT ;
619+ EGLenum swizzleRed ;
620+ EGLenum swizzleGreen ;
621+ EGLenum swizzleBlue ;
622+ EGLenum swizzleAlpha ;
623+ float maxAnisotropy ;
624+ XrColor4f borderColor ;
625+ } XrSwapchainStateSamplerOpenGLESFB ;
626+ #endif // XR_USE_GRAPHICS_API_OPENGL_ES
627+
628+ #endif /* XR_USE_GRAPHICS_API_OPENGL_ES */
629+
630+ #ifdef XR_USE_GRAPHICS_API_VULKAN
631+
632+ #define XR_FB_swapchain_update_state_vulkan 1
633+ #define XR_FB_swapchain_update_state_vulkan_SPEC_VERSION 1
634+ #define XR_FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME "XR_FB_swapchain_update_state_vulkan"
635+ #ifdef XR_USE_GRAPHICS_API_VULKAN
636+ typedef struct XrSwapchainStateSamplerVulkanFB {
637+ XrStructureType type ;
638+ void * XR_MAY_ALIAS next ;
639+ VkFilter minFilter ;
640+ VkFilter magFilter ;
641+ VkSamplerMipmapMode mipmapMode ;
642+ VkSamplerAddressMode wrapModeS ;
643+ VkSamplerAddressMode wrapModeT ;
644+ VkComponentSwizzle swizzleRed ;
645+ VkComponentSwizzle swizzleGreen ;
646+ VkComponentSwizzle swizzleBlue ;
647+ VkComponentSwizzle swizzleAlpha ;
648+ float maxAnisotropy ;
649+ XrColor4f borderColor ;
650+ } XrSwapchainStateSamplerVulkanFB ;
651+ #endif // XR_USE_GRAPHICS_API_VULKAN
652+
653+ #endif /* XR_USE_GRAPHICS_API_VULKAN */
654+
546655#ifdef __cplusplus
547656}
548657#endif
0 commit comments