1515namespace vr
1616{
1717 static const uint32_t k_nSteamVRVersionMajor = 1 ;
18- static const uint32_t k_nSteamVRVersionMinor = 10 ;
19- static const uint32_t k_nSteamVRVersionBuild = 30 ;
18+ static const uint32_t k_nSteamVRVersionMinor = 14 ;
19+ static const uint32_t k_nSteamVRVersionBuild = 15 ;
2020} // namespace vr
2121
2222// vrtypes.h
@@ -441,7 +441,7 @@ enum ETrackedDeviceProperty
441441 Prop_DriverProvidedChaperoneVisibility_Bool = 2076 ,
442442 Prop_HmdColumnCorrectionSettingPrefix_String = 2077 ,
443443 Prop_CameraSupportsCompatibilityModes_Bool = 2078 ,
444-
444+ Prop_SupportsRoomViewDepthProjection_Bool = 2079 ,
445445 Prop_DisplayAvailableFrameRates_Float_Array = 2080 , // populated by compositor from actual EDID list when available from GPU driver
446446 Prop_DisplaySupportsMultipleFramerates_Bool = 2081 , // if this is true but Prop_DisplayAvailableFrameRates_Float_Array is empty, explain to user
447447 Prop_DisplayColorMultLeft_Vector3 = 2082 ,
@@ -469,7 +469,8 @@ enum ETrackedDeviceProperty
469469
470470 Prop_Audio_DefaultPlaybackDeviceId_String = 2300 ,
471471 Prop_Audio_DefaultRecordingDeviceId_String = 2301 ,
472- Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302 ,
472+ Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302 ,
473+ Prop_Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303 ,
473474
474475 // Properties that are unique to TrackedDeviceClass_Controller
475476 Prop_AttachedDeviceId_String = 3000 ,
@@ -634,6 +635,9 @@ enum EVRSubmitFlags
634635 // Set to indicate a discontinuity between this and the last frame.
635636 // This will prevent motion smoothing from attempting to extrapolate using the pair.
636637 Submit_FrameDiscontinuty = 0x20 ,
638+
639+ // Set to indicate that pTexture->handle is a contains VRVulkanTextureArrayData_t
640+ Submit_VulkanTextureWithArrayData = 0x40 ,
637641};
638642
639643/* * Data required for passing Vulkan textures to IVRCompositor::Submit.
@@ -650,6 +654,15 @@ struct VRVulkanTextureData_t
650654 uint32_t m_nWidth, m_nHeight, m_nFormat, m_nSampleCount;
651655};
652656
657+ /* * Data required for passing Vulkan texture arrays to IVRCompositor::Submit.
658+ * Be sure to call OpenVR_Shutdown before destroying these resources.
659+ * Please see https://github.com/ValveSoftware/openvr/wiki/Vulkan for Vulkan-specific documentation */
660+ struct VRVulkanTextureArrayData_t : public VRVulkanTextureData_t
661+ {
662+ uint32_t m_unArrayIndex;
663+ uint32_t m_unArraySize;
664+ };
665+
653666/* * Data required for passing D3D12 textures to IVRCompositor::Submit.
654667* Be sure to call OpenVR_Shutdown before destroying these resources. */
655668struct D3D12TextureData_t
@@ -746,7 +759,7 @@ enum EVREventType
746759 // VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - No longer sent
747760 VREvent_DashboardRequested = 505 , // Sent to the overlay manager - data is overlay
748761 VREvent_ResetDashboard = 506 , // Send to the overlay manager
749- VREvent_RenderToast = 507 , // Send to the dashboard to render a toast - data is the notification ID
762+ // VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID -- no longer sent
750763 VREvent_ImageLoaded = 508 , // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading
751764 VREvent_ShowKeyboard = 509 , // Sent to keyboard renderer in the dashboard to invoke it
752765 VREvent_HideKeyboard = 510 , // Sent to keyboard renderer in the dashboard to hide it
@@ -772,6 +785,8 @@ enum EVREventType
772785 VREvent_RoomViewHidden = 527 , // Sent by compositor whenever room-view is disabled
773786 VREvent_ShowUI = 528 , // data is showUi
774787 VREvent_ShowDevTools = 529 , // data is showDevTools
788+ VREvent_DesktopViewUpdating = 530 ,
789+ VREvent_DesktopViewReady = 531 ,
775790
776791 VREvent_Notification_Shown = 600 ,
777792 VREvent_Notification_Hidden = 601 ,
@@ -793,6 +808,7 @@ enum EVREventType
793808 VREvent_ChaperoneFlushCache = 805 , // Sent when the process needs to reload any cached data it retrieved from VRChaperone()
794809 VREvent_ChaperoneRoomSetupStarting = 806 , // Triggered by CVRChaperoneClient::RoomSetupStarting
795810 VREvent_ChaperoneRoomSetupFinished = 807 , // Triggered by CVRChaperoneClient::CommitWorkingCopy
811+ VREvent_StandingZeroPoseReset = 808 ,
796812
797813 VREvent_AudioSettingsHaveChanged = 820 ,
798814
@@ -816,6 +832,8 @@ enum EVREventType
816832 VREvent_LastKnownSectionSettingChanged = 867 ,
817833 VREvent_DismissedWarningsSectionSettingChanged = 868 ,
818834 VREvent_GpuSpeedSectionSettingChanged = 869 ,
835+ VREvent_WindowsMRSectionSettingChanged = 870 ,
836+ VREvent_OtherSectionSettingChanged = 871 ,
819837
820838 VREvent_StatusUpdate = 900 ,
821839
@@ -1446,6 +1464,7 @@ enum EVRApplicationType
14461464 VRApplication_SteamWatchdog = 6 ,// Reserved for Steam
14471465 VRApplication_Bootstrapper = 7 , // reserved for vrstartup
14481466 VRApplication_WebHelper = 8 , // reserved for vrwebhelper
1467+ VRApplication_OpenXR = 9 , // reserved for openxr
14491468
14501469 VRApplication_Max
14511470};
@@ -2095,17 +2114,6 @@ class IVRSystem
20952114 */
20962115 virtual void GetDeviceToAbsoluteTrackingPose ( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow , VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0;
20972116
2098- /* * Sets the zero pose for the seated tracker coordinate system to the current position and yaw of the HMD. After
2099- * ResetSeatedZeroPose all GetDeviceToAbsoluteTrackingPose calls that pass TrackingUniverseSeated as the origin
2100- * will be relative to this new zero pose. The new zero coordinate system will not change the fact that the Y axis
2101- * is up in the real world, so the next pose returned from GetDeviceToAbsoluteTrackingPose after a call to
2102- * ResetSeatedZeroPose may not be exactly an identity matrix.
2103- *
2104- * NOTE: This function overrides the user's previously saved seated zero pose and should only be called as the result of a user action.
2105- * Users are also able to set their seated zero pose via the OpenVR Dashboard.
2106- **/
2107- virtual void ResetSeatedZeroPose () = 0;
2108-
21092117 /* * Returns the transform from the seated zero pose to the standing absolute tracking system. This allows
21102118 * applications to represent the seated origin to used or transform object positions from one coordinate
21112119 * system to the other.
@@ -2293,7 +2301,7 @@ class IVRSystem
22932301
22942302};
22952303
2296- static const char * const IVRSystem_Version = " IVRSystem_021 " ;
2304+ static const char * const IVRSystem_Version = " IVRSystem_022 " ;
22972305
22982306}
22992307
@@ -2698,6 +2706,8 @@ namespace vr
26982706 static const char * const k_pch_SteamVR_CustomIconForceUpdate_String = " customIconForceUpdate" ;
26992707 static const char * const k_pch_SteamVR_AllowGlobalActionSetPriority = " globalActionSetPriority" ;
27002708 static const char * const k_pch_SteamVR_OverlayRenderQuality = " overlayRenderQuality_2" ;
2709+ static const char * const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = " blockOculusSDKOnOpenVRLaunchOption" ;
2710+ static const char * const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = " blockOculusSDKOnAllLaunches" ;
27012711
27022712 // -----------------------------------------------------------------------------
27032713 // direct mode keys
@@ -2736,6 +2746,10 @@ namespace vr
27362746 static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = " secondsFromVsyncToPhotons" ;
27372747 static const char * const k_pch_Null_DisplayFrequency_Float = " displayFrequency" ;
27382748
2749+ // -----------------------------------------------------------------------------
2750+ // Windows MR keys
2751+ static const char * const k_pch_WindowsMR_Section = " driver_holographic" ;
2752+
27392753 // -----------------------------------------------------------------------------
27402754 // user interface keys
27412755 static const char * const k_pch_UserInterface_Section = " userinterface" ;
@@ -2778,6 +2792,7 @@ namespace vr
27782792 static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = " CollisionBoundsCenterMarkerOn" ;
27792793 static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = " CollisionBoundsPlaySpaceOn" ;
27802794 static const char * const k_pch_CollisionBounds_FadeDistance_Float = " CollisionBoundsFadeDistance" ;
2795+ static const char * const k_pch_CollisionBounds_WallHeight_Float = " CollisionBoundsWallHeight" ;
27812796 static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = " CollisionBoundsColorGammaR" ;
27822797 static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = " CollisionBoundsColorGammaG" ;
27832798 static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = " CollisionBoundsColorGammaB" ;
@@ -2788,15 +2803,15 @@ namespace vr
27882803 // camera keys
27892804 static const char * const k_pch_Camera_Section = " camera" ;
27902805 static const char * const k_pch_Camera_EnableCamera_Bool = " enableCamera" ;
2791- static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = " enableCameraInDashboard " ;
2806+ static const char * const k_pch_Camera_ShowOnController_Bool = " showOnController " ;
27922807 static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = " enableCameraForCollisionBounds" ;
2793- static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = " enableCameraForRoomView " ;
2808+ static const char * const k_pch_Camera_RoomView_Int32 = " roomView " ;
27942809 static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = " cameraBoundsColorGammaR" ;
27952810 static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = " cameraBoundsColorGammaG" ;
27962811 static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = " cameraBoundsColorGammaB" ;
27972812 static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = " cameraBoundsColorGammaA" ;
27982813 static const char * const k_pch_Camera_BoundsStrength_Int32 = " cameraBoundsStrength" ;
2799- static const char * const k_pch_Camera_RoomViewMode_Int32 = " cameraRoomViewMode " ;
2814+ static const char * const k_pch_Camera_RoomViewStyle_Int32 = " roomViewStyle " ;
28002815
28012816 // -----------------------------------------------------------------------------
28022817 // audio keys
@@ -2813,8 +2828,11 @@ namespace vr
28132828 static const char * const k_pch_audio_PlaybackMirrorDevice_String = " playbackMirrorDevice" ;
28142829 static const char * const k_pch_audio_PlaybackMirrorDeviceName_String = " playbackMirrorDeviceName" ;
28152830 static const char * const k_pch_audio_OldPlaybackMirrorDevice_String = " onPlaybackMirrorDevice" ;
2831+ static const char * const k_pch_audio_ActiveMirrorDevice_String = " activePlaybackMirrorDevice" ;
2832+ static const char * const k_pch_audio_EnablePlaybackMirrorIndependentVolume_Bool = " enablePlaybackMirrorIndependentVolume" ;
28162833 static const char * const k_pch_audio_LastHmdPlaybackDeviceId_String = " lastHmdPlaybackDeviceId" ;
28172834 static const char * const k_pch_audio_VIVEHDMIGain = " viveHDMIGain" ;
2835+ static const char * const k_pch_audio_DualSpeakerAndJackOutput_Bool = " dualSpeakerAndJackOutput" ;
28182836
28192837 // -----------------------------------------------------------------------------
28202838 // power management keys
@@ -2831,7 +2849,6 @@ namespace vr
28312849 static const char * const k_pch_Dashboard_Section = " dashboard" ;
28322850 static const char * const k_pch_Dashboard_EnableDashboard_Bool = " enableDashboard" ;
28332851 static const char * const k_pch_Dashboard_ArcadeMode_Bool = " arcadeMode" ;
2834- static const char * const k_pch_Dashboard_UseWebSettings = " useWebSettings" ;
28352852 static const char * const k_pch_Dashboard_Position = " position" ;
28362853 static const char * const k_pch_Dashboard_DesktopScale = " desktopScale" ;
28372854 static const char * const k_pch_Dashboard_DashboardScale = " dashboardScale" ;
@@ -2870,6 +2887,7 @@ namespace vr
28702887 static const char * const k_pch_App_BindingPreviousURLSuffix_String = " PreviousURL" ;
28712888 static const char * const k_pch_App_NeedToUpdateAutosaveSuffix_Bool = " NeedToUpdateAutosave" ;
28722889 static const char * const k_pch_App_DominantHand_Int32 = " DominantHand" ;
2890+ static const char * const k_pch_App_BlockOculusSDK_Bool = " blockOculusSDK" ;
28732891
28742892 // -----------------------------------------------------------------------------
28752893 // configuration for trackers
@@ -2965,9 +2983,20 @@ class IVRChaperone
29652983
29662984 /* * Force the bounds to show, mostly for utilities **/
29672985 virtual void ForceBoundsVisible ( bool bForce ) = 0;
2986+
2987+ /* * Sets the zero pose for the given tracker coordinate system to the current position and yaw of the HMD. After
2988+ * ResetZeroPose all GetDeviceToAbsoluteTrackingPose calls as the origin will be relative to this new zero pose.
2989+ * The new zero coordinate system will not change the fact that the Y axis is up in the real world, so the next
2990+ * pose returned from GetDeviceToAbsoluteTrackingPose after a call to ResetZeroPose may not be exactly an
2991+ * identity matrix.
2992+ *
2993+ * NOTE: This function overrides the user's previously saved zero pose and should only be called as the result of a user action.
2994+ * Users are also able to set their zero pose via the OpenVR Dashboard.
2995+ **/
2996+ virtual void ResetZeroPose ( ETrackingUniverseOrigin eTrackingUniverseOrigin ) = 0;
29682997};
29692998
2970- static const char * const IVRChaperone_Version = " IVRChaperone_003 " ;
2999+ static const char * const IVRChaperone_Version = " IVRChaperone_004 " ;
29713000
29723001#pragma pack( pop )
29733002
@@ -3033,7 +3062,7 @@ class IVRChaperoneSetup
30333062 /* * Sets the Play Area in the working copy. */
30343063 virtual void SetWorkingPlayAreaSize ( float sizeX, float sizeZ ) = 0;
30353064
3036- /* * Sets the Collision Bounds in the working copy. */
3065+ /* * Sets the Collision Bounds in the working copy. Note: ceiling height is ignored. */
30373066 virtual void SetWorkingCollisionBoundsInfo ( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0;
30383067
30393068 /* * Sets the Collision Bounds in the working copy. */
@@ -4162,6 +4191,15 @@ enum EVRRenderModelError
41624191 VRRenderModelError_InvalidTexture = 400 ,
41634192};
41644193
4194+ enum EVRRenderModelTextureFormat
4195+ {
4196+ VRRenderModelTextureFormat_RGBA8_SRGB = 0 , // RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub
4197+ VRRenderModelTextureFormat_BC2,
4198+ VRRenderModelTextureFormat_BC4,
4199+ VRRenderModelTextureFormat_BC7,
4200+ VRRenderModelTextureFormat_BC7_SRGB
4201+ };
4202+
41654203/* * A single vertex in a render model */
41664204struct RenderModel_Vertex_t
41674205{
@@ -4180,7 +4218,8 @@ struct RenderModel_Vertex_t
41804218struct RenderModel_TextureMap_t
41814219{
41824220 uint16_t unWidth, unHeight; // width and height of the texture map in pixels
4183- const uint8_t *rubTextureMapData; // Map texture data. All textures are RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub
4221+ const uint8_t *rubTextureMapData; // Map texture data.
4222+ EVRRenderModelTextureFormat format; // Refer to EVRRenderModelTextureFormat
41844223};
41854224#if defined(__linux__) || defined(__APPLE__)
41864225#pragma pack( pop )
0 commit comments