1616namespace vr
1717{
1818 static const uint32_t k_nSteamVRVersionMajor = 1 ;
19- static const uint32_t k_nSteamVRVersionMinor = 16 ;
20- static const uint32_t k_nSteamVRVersionBuild = 8 ;
19+ static const uint32_t k_nSteamVRVersionMinor = 23 ;
20+ static const uint32_t k_nSteamVRVersionBuild = 7 ;
2121} // namespace vr
2222
2323// public_vrtypes.h
@@ -29,6 +29,8 @@ namespace vr
2929{
3030#pragma pack( push, 8 )
3131
32+ typedef uint32_t PropertyTypeTag_t;
33+
3234// right-handed system
3335// +y is up
3436// +x is to the right
@@ -387,6 +389,8 @@ enum ETrackedDeviceProperty
387389 Prop_ManufacturerSerialNumber_String = 1049 ,
388390 Prop_ComputedSerialNumber_String = 1050 ,
389391 Prop_EstimatedDeviceFirstUseTime_Int32 = 1051 ,
392+ Prop_DevicePowerUsage_Float = 1052 ,
393+ Prop_IgnoreMotionForStandby_Bool = 1053 ,
390394
391395 // Properties that are unique to TrackedDeviceClass_HMD
392396 Prop_ReportsTimeSinceVSync_Bool = 2000 ,
@@ -479,10 +483,15 @@ enum ETrackedDeviceProperty
479483 Prop_CameraGlobalGain_Float = 2089 ,
480484 // Prop_DashboardLayoutPathName_String = 2090, // DELETED
481485 Prop_DashboardScale_Float = 2091 ,
486+ Prop_PeerButtonInfo_String = 2092 ,
487+
482488 Prop_IpdUIRangeMinMeters_Float = 2100 ,
483489 Prop_IpdUIRangeMaxMeters_Float = 2101 ,
484490 Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102 ,
485491 Prop_Hmd_SupportsMicMonitoring_Bool = 2103 ,
492+ Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104 ,
493+ Prop_SupportsRoomViewDirect_Bool = 2105 ,
494+ Prop_SupportsAppThrottling_Bool = 2106 ,
486495
487496 // Driver requested mura correction properties
488497 Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200 ,
@@ -671,8 +680,8 @@ enum EVRSubmitFlags
671680 Submit_GlArrayTexture = 0x80 ,
672681
673682 // Do not use
674- Submit_Reserved2 = 0x8000 ,
675-
683+ Submit_Reserved2 = 0x08000 ,
684+ Submit_Reserved3 = 0x10000 ,
676685
677686};
678687
@@ -824,6 +833,11 @@ enum EVREventType
824833 VREvent_DesktopViewUpdating = 530 ,
825834 VREvent_DesktopViewReady = 531 ,
826835
836+ VREvent_StartDashboard = 532 ,
837+ VREvent_ElevatePrism = 533 ,
838+
839+ VREvent_OverlayClosed = 534 ,
840+
827841 VREvent_Notification_Shown = 600 ,
828842 VREvent_Notification_Hidden = 601 ,
829843 VREvent_Notification_BeginInteraction = 602 ,
@@ -835,6 +849,7 @@ enum EVREventType
835849 VREvent_QuitAcknowledged = 703 , // data is process
836850 VREvent_DriverRequestedQuit = 704 , // The driver has requested that SteamVR shut down
837851 VREvent_RestartRequested = 705 , // A driver or other component wants the user to restart SteamVR
852+ VREvent_InvalidateSwapTextureSets = 706 ,
838853
839854 VREvent_ChaperoneDataHasChanged = 800 , // this will never happen with the new chaperone system
840855 VREvent_ChaperoneUniverseHasChanged = 801 ,
@@ -905,6 +920,7 @@ enum EVREventType
905920 VREvent_Compositor_OutOfVideoMemory = 1417 ,
906921 VREvent_Compositor_DisplayModeNotSupported = 1418 , // k_pch_SteamVR_PreferredRefreshRate
907922 VREvent_Compositor_StageOverrideReady = 1419 ,
923+ VREvent_Compositor_RequestDisconnectReconnect = 1420 ,
908924
909925 VREvent_TrackedCamera_StartVideoStream = 1500 ,
910926 VREvent_TrackedCamera_StopVideoStream = 1501 ,
@@ -1484,6 +1500,7 @@ enum EVROverlayError
14841500 VROverlayError_TextureAlreadyLocked = 31 ,
14851501 VROverlayError_TextureLockCapacityReached = 32 ,
14861502 VROverlayError_TextureNotLocked = 33 ,
1503+ VROverlayError_TimedOut = 34 ,
14871504};
14881505
14891506/* * enum values to pass in to VR_Init to identify whether the application will
@@ -1505,6 +1522,7 @@ enum EVRApplicationType
15051522 VRApplication_OpenXRScene = 10 , // reserved for openxr (started session)
15061523 VRApplication_OpenXROverlay = 11 , // reserved for openxr (started overlay session)
15071524 VRApplication_Prism = 12 , // reserved for the vrprismhost process
1525+ VRApplication_RoomView = 13 , // reserved for the RoomView process
15081526
15091527 VRApplication_Max
15101528};
@@ -1520,6 +1538,15 @@ inline bool IsOpenXRAppType( EVRApplicationType eType )
15201538}
15211539
15221540
1541+ /* * returns true if the specified application type submits eye buffers */
1542+ inline bool BAppTypeSubmitsEyeBuffers ( EVRApplicationType eType )
1543+ {
1544+ return eType == VRApplication_Scene
1545+ || eType == VRApplication_OpenXRScene
1546+ || eType == VRApplication_RoomView;
1547+ }
1548+
1549+
15231550/* * error codes for firmware */
15241551enum EVRFirmwareError
15251552{
@@ -1641,8 +1668,20 @@ enum EVRInitError
16411668 VRInitError_Init_PrismNeedsNewDrivers = 151 ,
16421669 VRInitError_Init_PrismStartupTimedOut = 152 ,
16431670 VRInitError_Init_CouldNotStartPrism = 153 ,
1644- VRInitError_Init_CreateDriverDirectDeviceFailed = 154 ,
1645- VRInitError_Init_PrismExitedUnexpectedly = 155 ,
1671+ VRInitError_Init_PrismClientInitFailed = 154 ,
1672+ VRInitError_Init_PrismClientStartFailed = 155 ,
1673+ VRInitError_Init_PrismExitedUnexpectedly = 156 ,
1674+ VRInitError_Init_BadLuid = 157 ,
1675+ VRInitError_Init_NoServerForAppContainer = 158 ,
1676+ VRInitError_Init_DuplicateBootstrapper = 159 ,
1677+ VRInitError_Init_VRDashboardServicePending = 160 ,
1678+ VRInitError_Init_VRDashboardServiceTimeout = 161 ,
1679+ VRInitError_Init_VRDashboardServiceStopped = 162 ,
1680+ VRInitError_Init_VRDashboardAlreadyStarted = 163 ,
1681+ VRInitError_Init_VRDashboardCopyFailed = 164 ,
1682+ VRInitError_Init_VRDashboardTokenFailure = 165 ,
1683+ VRInitError_Init_VRDashboardEnvironmentFailure = 166 ,
1684+ VRInitError_Init_VRDashboardPathFailure = 167 ,
16461685
16471686 VRInitError_Driver_Failed = 200 ,
16481687 VRInitError_Driver_Unknown = 201 ,
@@ -1658,6 +1697,9 @@ enum EVRInitError
16581697 VRInitError_Driver_HmdDriverIdOutOfBounds = 211 ,
16591698 VRInitError_Driver_HmdDisplayMirrored = 212 ,
16601699 VRInitError_Driver_HmdDisplayNotFoundLaptop = 213 ,
1700+ VRInitError_Driver_PeerDriverNotInstalled = 214 ,
1701+ VRInitError_Driver_WirelessHmdNotConnected = 215 ,
1702+
16611703 // Never make error 259 because we return it from main and it would conflict with STILL_ACTIVE
16621704
16631705 VRInitError_IPC_ServerInitFailed = 300 ,
@@ -1766,9 +1808,12 @@ enum EVRInitError
17661808 VRInitError_Compositor_WindowInterfaceIsNull = 491 ,
17671809 VRInitError_Compositor_SystemLayerCreateInstance = 492 ,
17681810 VRInitError_Compositor_SystemLayerCreateSession = 493 ,
1811+ VRInitError_Compositor_CreateInverseDistortUVs = 494 ,
1812+ VRInitError_Compositor_CreateBackbufferDepth = 495 ,
17691813
17701814 VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000 ,
17711815 VRInitError_VendorSpecific_WindowsNotInDevMode = 1001 ,
1816+ VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002 ,
17721817
17731818 VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101 ,
17741819 VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102 ,
@@ -1784,6 +1829,7 @@ enum EVRInitError
17841829 VRInitError_VendorSpecific_HmdFound_UserDataError = 1112 ,
17851830 VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113 ,
17861831 VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114 ,
1832+ VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115 ,
17871833
17881834 VRInitError_Steam_SteamInstallationNotFound = 2000 ,
17891835
@@ -2727,6 +2773,8 @@ namespace vr
27272773 static const char * const k_pch_SteamVR_MotionSmoothingOverride_Int32 = " motionSmoothingOverride" ;
27282774 static const char * const k_pch_SteamVR_FramesToThrottle_Int32 = " framesToThrottle" ;
27292775 static const char * const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = " additionalFramesToPredict" ;
2776+ static const char * const k_pch_SteamVR_WorldScale_Float = " worldScale" ;
2777+ static const char * const k_pch_SteamVR_FovScale_Int32 = " fovScale" ;
27302778 static const char * const k_pch_SteamVR_DisableAsyncReprojection_Bool = " disableAsync" ;
27312779 static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = " forceFadeOnBadTracking" ;
27322780 static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = " mirrorView" ;
@@ -2770,6 +2818,7 @@ namespace vr
27702818 static const char * const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = " blockOculusSDKOnOpenVRLaunchOption" ;
27712819 static const char * const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = " blockOculusSDKOnAllLaunches" ;
27722820 static const char * const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = " hdcp14legacyCompatibility" ;
2821+ static const char * const k_pch_SteamVR_DisplayPortTrainingMode_Int = " displayPortTrainingMode" ;
27732822 static const char * const k_pch_SteamVR_UsePrism_Bool = " usePrism" ;
27742823
27752824 // -----------------------------------------------------------------------------
@@ -2917,6 +2966,7 @@ namespace vr
29172966 static const char * const k_pch_Dashboard_DesktopScale = " desktopScale" ;
29182967 static const char * const k_pch_Dashboard_DashboardScale = " dashboardScale" ;
29192968 static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = " standaloneSystemLayer" ;
2969+ static const char * const k_pch_Dashboard_StickyDashboard = " stickyDashboard" ;
29202970
29212971 // -----------------------------------------------------------------------------
29222972 // model skin keys
@@ -3635,8 +3685,7 @@ typedef uint32_t VRNotificationId;
36353685
36363686#pragma pack( pop )
36373687
3638- /* * Allows notification sources to interact with the VR system
3639- This current interface is not yet implemented. Do not use yet. */
3688+ /* * Allows notification sources to interact with the VR system. */
36403689class IVRNotifications
36413690{
36423691public:
@@ -3753,6 +3802,9 @@ namespace vr
37533802
37543803 // If this is set, alpha composition assumes the texture is pre-multiplied
37553804 VROverlayFlags_IsPremultiplied = 1 << 21 ,
3805+
3806+ // If this is set, the alpha values of the overlay texture will be ignored
3807+ VROverlayFlags_IgnoreTextureAlpha = 1 << 22 ,
37563808 };
37573809
37583810 enum VRMessageOverlayResponse
@@ -3948,6 +4000,12 @@ namespace vr
39484000 /* * Returns the curvature of the overlay as a percentage from (0..1] where 1 is a fully closed cylinder. */
39494001 virtual EVROverlayError GetOverlayCurvature ( VROverlayHandle_t ulOverlayHandle, float *pfCurvature ) = 0;
39504002
4003+ /* * Sets the pitch angle (in radians) of the overlay before curvature is applied -- to form a fan or disk. */
4004+ virtual EVROverlayError SetOverlayPreCurvePitch ( VROverlayHandle_t ulOverlayHandle, float fRadians ) = 0;
4005+
4006+ /* * Returns the overlay's set pre-curve pitch angle (in radians). */
4007+ virtual EVROverlayError GetOverlayPreCurvePitch ( VROverlayHandle_t ulOverlayHandle, float *pfRadians ) = 0;
4008+
39514009 /* * Sets the colorspace the overlay texture's data is in. Defaults to 'auto'.
39524010 * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */
39534011 virtual EVROverlayError SetOverlayTextureColorSpace ( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0;
@@ -4013,6 +4071,11 @@ namespace vr
40134071 /* * Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */
40144072 virtual EVROverlayError GetTransformForOverlayCoordinates ( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0;
40154073
4074+ /* * This function will block until the top of each frame, and can therefore be used to synchronize with the runtime's update rate.
4075+ * Note: In non-async mode, some signals may be dropped due to scene app performance, so passing a timeout of 1000/refresh rate
4076+ * may be useful depending on the overlay app's desired behavior. */
4077+ virtual EVROverlayError WaitFrameSync ( uint32_t nTimeoutMs ) = 0;
4078+
40164079 // ---------------------------------------------
40174080 // Overlay input methods
40184081 // ---------------------------------------------
@@ -4165,7 +4228,7 @@ namespace vr
41654228 virtual void CloseMessageOverlay () = 0;
41664229 };
41674230
4168- static const char * const IVROverlay_Version = " IVROverlay_025 " ;
4231+ static const char * const IVROverlay_Version = " IVROverlay_026 " ;
41694232
41704233} // namespace vr
41714234
@@ -4285,7 +4348,8 @@ enum EVRRenderModelTextureFormat
42854348 VRRenderModelTextureFormat_BC2,
42864349 VRRenderModelTextureFormat_BC4,
42874350 VRRenderModelTextureFormat_BC7,
4288- VRRenderModelTextureFormat_BC7_SRGB
4351+ VRRenderModelTextureFormat_BC7_SRGB,
4352+ VRRenderModelTextureFormat_RGBA16_FLOAT,
42894353};
42904354
42914355/* * A single vertex in a render model */
@@ -4308,6 +4372,7 @@ struct RenderModel_TextureMap_t
43084372 uint16_t unWidth, unHeight; // width and height of the texture map in pixels
43094373 const uint8_t *rubTextureMapData; // Map texture data.
43104374 EVRRenderModelTextureFormat format; // Refer to EVRRenderModelTextureFormat
4375+ uint16_t unMipLevels;
43114376};
43124377#if defined(__linux__) || defined(__APPLE__)
43134378#pragma pack( pop )
0 commit comments