diff --git a/bin/linux32/libopenvr_api.so b/bin/linux32/libopenvr_api.so index d87f274c..01e1339b 100755 Binary files a/bin/linux32/libopenvr_api.so and b/bin/linux32/libopenvr_api.so differ diff --git a/bin/linux32/libopenvr_api.so.dbg b/bin/linux32/libopenvr_api.so.dbg index a8d75471..f7a7aaca 100755 Binary files a/bin/linux32/libopenvr_api.so.dbg and b/bin/linux32/libopenvr_api.so.dbg differ diff --git a/bin/linux64/libopenvr_api.so b/bin/linux64/libopenvr_api.so index 906f06d5..75bc5f10 100755 Binary files a/bin/linux64/libopenvr_api.so and b/bin/linux64/libopenvr_api.so differ diff --git a/bin/linux64/libopenvr_api.so.dbg b/bin/linux64/libopenvr_api.so.dbg index 753f794a..f6ccc7fb 100755 Binary files a/bin/linux64/libopenvr_api.so.dbg and b/bin/linux64/libopenvr_api.so.dbg differ diff --git a/bin/linuxarm64/libopenvr_api.so b/bin/linuxarm64/libopenvr_api.so index d291c97b..55e15b6c 100644 Binary files a/bin/linuxarm64/libopenvr_api.so and b/bin/linuxarm64/libopenvr_api.so differ diff --git a/bin/linuxarm64/libopenvr_api.so.dbg b/bin/linuxarm64/libopenvr_api.so.dbg index cf5d5348..f02b6f5c 100644 Binary files a/bin/linuxarm64/libopenvr_api.so.dbg and b/bin/linuxarm64/libopenvr_api.so.dbg differ diff --git a/bin/linuxarm64/libopenvr_api_unity.so b/bin/linuxarm64/libopenvr_api_unity.so index 058260ad..66ce7b38 100644 Binary files a/bin/linuxarm64/libopenvr_api_unity.so and b/bin/linuxarm64/libopenvr_api_unity.so differ diff --git a/bin/linuxarm64/libopenvr_api_unity.so.dbg b/bin/linuxarm64/libopenvr_api_unity.so.dbg index 875cdb35..1d08d17d 100644 Binary files a/bin/linuxarm64/libopenvr_api_unity.so.dbg and b/bin/linuxarm64/libopenvr_api_unity.so.dbg differ diff --git a/bin/win32/openvr_api.dll b/bin/win32/openvr_api.dll index 6e423e6c..2c61e24d 100644 Binary files a/bin/win32/openvr_api.dll and b/bin/win32/openvr_api.dll differ diff --git a/bin/win32/openvr_api.dll.sig b/bin/win32/openvr_api.dll.sig index 3e308fc7..a7b3cb35 100644 Binary files a/bin/win32/openvr_api.dll.sig and b/bin/win32/openvr_api.dll.sig differ diff --git a/bin/win32/openvr_api.pdb b/bin/win32/openvr_api.pdb index ff635ec1..a1fda1fd 100644 Binary files a/bin/win32/openvr_api.pdb and b/bin/win32/openvr_api.pdb differ diff --git a/bin/win64/openvr_api.dll b/bin/win64/openvr_api.dll index a4ad7640..2df5818b 100644 Binary files a/bin/win64/openvr_api.dll and b/bin/win64/openvr_api.dll differ diff --git a/bin/win64/openvr_api.dll.sig b/bin/win64/openvr_api.dll.sig index eb635ee1..58281ae3 100644 Binary files a/bin/win64/openvr_api.dll.sig and b/bin/win64/openvr_api.dll.sig differ diff --git a/bin/win64/openvr_api.pdb b/bin/win64/openvr_api.pdb index 4a4b91d5..aae85115 100644 Binary files a/bin/win64/openvr_api.pdb and b/bin/win64/openvr_api.pdb differ diff --git a/headers/openvr.h b/headers/openvr.h index ff6d1fe2..df73184f 100644 --- a/headers/openvr.h +++ b/headers/openvr.h @@ -16,8 +16,8 @@ namespace vr { static const uint32_t k_nSteamVRVersionMajor = 1; - static const uint32_t k_nSteamVRVersionMinor = 16; - static const uint32_t k_nSteamVRVersionBuild = 8; + static const uint32_t k_nSteamVRVersionMinor = 23; + static const uint32_t k_nSteamVRVersionBuild = 7; } // namespace vr // public_vrtypes.h @@ -29,6 +29,8 @@ namespace vr { #pragma pack( push, 8 ) +typedef uint32_t PropertyTypeTag_t; + // right-handed system // +y is up // +x is to the right @@ -387,6 +389,8 @@ enum ETrackedDeviceProperty Prop_ManufacturerSerialNumber_String = 1049, Prop_ComputedSerialNumber_String = 1050, Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, + Prop_DevicePowerUsage_Float = 1052, + Prop_IgnoreMotionForStandby_Bool = 1053, // Properties that are unique to TrackedDeviceClass_HMD Prop_ReportsTimeSinceVSync_Bool = 2000, @@ -479,10 +483,15 @@ enum ETrackedDeviceProperty Prop_CameraGlobalGain_Float = 2089, // Prop_DashboardLayoutPathName_String = 2090, // DELETED Prop_DashboardScale_Float = 2091, + Prop_PeerButtonInfo_String = 2092, + Prop_IpdUIRangeMinMeters_Float = 2100, Prop_IpdUIRangeMaxMeters_Float = 2101, Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, Prop_Hmd_SupportsMicMonitoring_Bool = 2103, + Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104, + Prop_SupportsRoomViewDirect_Bool = 2105, + Prop_SupportsAppThrottling_Bool = 2106, // Driver requested mura correction properties Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, @@ -671,8 +680,8 @@ enum EVRSubmitFlags Submit_GlArrayTexture = 0x80, // Do not use - Submit_Reserved2 = 0x8000, - + Submit_Reserved2 = 0x08000, + Submit_Reserved3 = 0x10000, }; @@ -824,6 +833,11 @@ enum EVREventType VREvent_DesktopViewUpdating = 530, VREvent_DesktopViewReady = 531, + VREvent_StartDashboard = 532, + VREvent_ElevatePrism = 533, + + VREvent_OverlayClosed = 534, + VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, VREvent_Notification_BeginInteraction = 602, @@ -835,6 +849,7 @@ enum EVREventType VREvent_QuitAcknowledged = 703, // data is process VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down VREvent_RestartRequested = 705, // A driver or other component wants the user to restart SteamVR + VREvent_InvalidateSwapTextureSets = 706, VREvent_ChaperoneDataHasChanged = 800, // this will never happen with the new chaperone system VREvent_ChaperoneUniverseHasChanged = 801, @@ -905,6 +920,7 @@ enum EVREventType VREvent_Compositor_OutOfVideoMemory = 1417, VREvent_Compositor_DisplayModeNotSupported = 1418, // k_pch_SteamVR_PreferredRefreshRate VREvent_Compositor_StageOverrideReady = 1419, + VREvent_Compositor_RequestDisconnectReconnect = 1420, VREvent_TrackedCamera_StartVideoStream = 1500, VREvent_TrackedCamera_StopVideoStream = 1501, @@ -1484,6 +1500,7 @@ enum EVROverlayError VROverlayError_TextureAlreadyLocked = 31, VROverlayError_TextureLockCapacityReached = 32, VROverlayError_TextureNotLocked = 33, + VROverlayError_TimedOut = 34, }; /** enum values to pass in to VR_Init to identify whether the application will @@ -1505,6 +1522,7 @@ enum EVRApplicationType VRApplication_OpenXRScene = 10, // reserved for openxr (started session) VRApplication_OpenXROverlay = 11, // reserved for openxr (started overlay session) VRApplication_Prism = 12, // reserved for the vrprismhost process + VRApplication_RoomView = 13, // reserved for the RoomView process VRApplication_Max }; @@ -1520,6 +1538,15 @@ inline bool IsOpenXRAppType( EVRApplicationType eType ) } +/** returns true if the specified application type submits eye buffers */ +inline bool BAppTypeSubmitsEyeBuffers( EVRApplicationType eType ) +{ + return eType == VRApplication_Scene + || eType == VRApplication_OpenXRScene + || eType == VRApplication_RoomView; +} + + /** error codes for firmware */ enum EVRFirmwareError { @@ -1641,8 +1668,20 @@ enum EVRInitError VRInitError_Init_PrismNeedsNewDrivers = 151, VRInitError_Init_PrismStartupTimedOut = 152, VRInitError_Init_CouldNotStartPrism = 153, - VRInitError_Init_CreateDriverDirectDeviceFailed = 154, - VRInitError_Init_PrismExitedUnexpectedly = 155, + VRInitError_Init_PrismClientInitFailed = 154, + VRInitError_Init_PrismClientStartFailed = 155, + VRInitError_Init_PrismExitedUnexpectedly = 156, + VRInitError_Init_BadLuid = 157, + VRInitError_Init_NoServerForAppContainer = 158, + VRInitError_Init_DuplicateBootstrapper = 159, + VRInitError_Init_VRDashboardServicePending = 160, + VRInitError_Init_VRDashboardServiceTimeout = 161, + VRInitError_Init_VRDashboardServiceStopped = 162, + VRInitError_Init_VRDashboardAlreadyStarted = 163, + VRInitError_Init_VRDashboardCopyFailed = 164, + VRInitError_Init_VRDashboardTokenFailure = 165, + VRInitError_Init_VRDashboardEnvironmentFailure = 166, + VRInitError_Init_VRDashboardPathFailure = 167, VRInitError_Driver_Failed = 200, VRInitError_Driver_Unknown = 201, @@ -1658,6 +1697,9 @@ enum EVRInitError VRInitError_Driver_HmdDriverIdOutOfBounds = 211, VRInitError_Driver_HmdDisplayMirrored = 212, VRInitError_Driver_HmdDisplayNotFoundLaptop = 213, + VRInitError_Driver_PeerDriverNotInstalled = 214, + VRInitError_Driver_WirelessHmdNotConnected = 215, + // Never make error 259 because we return it from main and it would conflict with STILL_ACTIVE VRInitError_IPC_ServerInitFailed = 300, @@ -1766,9 +1808,12 @@ enum EVRInitError VRInitError_Compositor_WindowInterfaceIsNull = 491, VRInitError_Compositor_SystemLayerCreateInstance = 492, VRInitError_Compositor_SystemLayerCreateSession = 493, + VRInitError_Compositor_CreateInverseDistortUVs = 494, + VRInitError_Compositor_CreateBackbufferDepth = 495, VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, VRInitError_VendorSpecific_WindowsNotInDevMode = 1001, + VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002, VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, @@ -1784,6 +1829,7 @@ enum EVRInitError VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114, + VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, VRInitError_Steam_SteamInstallationNotFound = 2000, @@ -2727,6 +2773,8 @@ namespace vr static const char * const k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; static const char * const k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; static const char * const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; + static const char * const k_pch_SteamVR_WorldScale_Float = "worldScale"; + static const char * const k_pch_SteamVR_FovScale_Int32 = "fovScale"; static const char * const k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; @@ -2770,6 +2818,7 @@ namespace vr static const char * const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; static const char * const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; static const char * const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + static const char * const k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; static const char * const k_pch_SteamVR_UsePrism_Bool = "usePrism"; //----------------------------------------------------------------------------- @@ -2917,6 +2966,7 @@ namespace vr static const char * const k_pch_Dashboard_DesktopScale = "desktopScale"; static const char * const k_pch_Dashboard_DashboardScale = "dashboardScale"; static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; + static const char * const k_pch_Dashboard_StickyDashboard = "stickyDashboard"; //----------------------------------------------------------------------------- // model skin keys @@ -3635,8 +3685,7 @@ typedef uint32_t VRNotificationId; #pragma pack( pop ) -/** Allows notification sources to interact with the VR system - This current interface is not yet implemented. Do not use yet. */ +/** Allows notification sources to interact with the VR system. */ class IVRNotifications { public: @@ -3753,6 +3802,9 @@ namespace vr // If this is set, alpha composition assumes the texture is pre-multiplied VROverlayFlags_IsPremultiplied = 1 << 21, + + // If this is set, the alpha values of the overlay texture will be ignored + VROverlayFlags_IgnoreTextureAlpha = 1 << 22, }; enum VRMessageOverlayResponse @@ -3948,6 +4000,12 @@ namespace vr /** Returns the curvature of the overlay as a percentage from (0..1] where 1 is a fully closed cylinder. */ virtual EVROverlayError GetOverlayCurvature( VROverlayHandle_t ulOverlayHandle, float *pfCurvature ) = 0; + /** Sets the pitch angle (in radians) of the overlay before curvature is applied -- to form a fan or disk. */ + virtual EVROverlayError SetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float fRadians ) = 0; + + /** Returns the overlay's set pre-curve pitch angle (in radians). */ + virtual EVROverlayError GetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float *pfRadians ) = 0; + /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; @@ -4013,6 +4071,11 @@ namespace vr /** 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 */ virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; + /** This function will block until the top of each frame, and can therefore be used to synchronize with the runtime's update rate. + * Note: In non-async mode, some signals may be dropped due to scene app performance, so passing a timeout of 1000/refresh rate + * may be useful depending on the overlay app's desired behavior. */ + virtual EVROverlayError WaitFrameSync( uint32_t nTimeoutMs ) = 0; + // --------------------------------------------- // Overlay input methods // --------------------------------------------- @@ -4165,7 +4228,7 @@ namespace vr virtual void CloseMessageOverlay() = 0; }; - static const char * const IVROverlay_Version = "IVROverlay_025"; + static const char * const IVROverlay_Version = "IVROverlay_026"; } // namespace vr @@ -4285,7 +4348,8 @@ enum EVRRenderModelTextureFormat VRRenderModelTextureFormat_BC2, VRRenderModelTextureFormat_BC4, VRRenderModelTextureFormat_BC7, - VRRenderModelTextureFormat_BC7_SRGB + VRRenderModelTextureFormat_BC7_SRGB, + VRRenderModelTextureFormat_RGBA16_FLOAT, }; /** A single vertex in a render model */ @@ -4308,6 +4372,7 @@ struct RenderModel_TextureMap_t uint16_t unWidth, unHeight; // width and height of the texture map in pixels const uint8_t *rubTextureMapData; // Map texture data. EVRRenderModelTextureFormat format; // Refer to EVRRenderModelTextureFormat + uint16_t unMipLevels; }; #if defined(__linux__) || defined(__APPLE__) #pragma pack( pop ) diff --git a/headers/openvr_api.cs b/headers/openvr_api.cs index 4732b62e..1d73c1c7 100644 --- a/headers/openvr_api.cs +++ b/headers/openvr_api.cs @@ -1045,6 +1045,16 @@ public struct IVROverlay [MarshalAs(UnmanagedType.FunctionPtr)] internal _GetOverlayCurvature GetOverlayCurvature; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayPreCurvePitch(ulong ulOverlayHandle, float fRadians); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayPreCurvePitch SetOverlayPreCurvePitch; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayPreCurvePitch(ulong ulOverlayHandle, ref float pfRadians); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayPreCurvePitch GetOverlayPreCurvePitch; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate EVROverlayError _SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace); [MarshalAs(UnmanagedType.FunctionPtr)] @@ -1145,6 +1155,11 @@ public struct IVROverlay [MarshalAs(UnmanagedType.FunctionPtr)] internal _GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _WaitFrameSync(uint nTimeoutMs); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _WaitFrameSync WaitFrameSync; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate bool _PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent); [MarshalAs(UnmanagedType.FunctionPtr)] @@ -1951,7 +1966,7 @@ public struct IVRPaths public struct IVRBlockQueue { [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _Create(ref ulong pulQueueHandle, IntPtr pchPath, uint unBlockDataSize, uint unBlockHeaderSize, uint unBlockCount); + internal delegate EBlockQueueError _Create(ref ulong pulQueueHandle, IntPtr pchPath, uint unBlockDataSize, uint unBlockHeaderSize, uint unBlockCount, uint unFlags); [MarshalAs(UnmanagedType.FunctionPtr)] internal _Create Create; @@ -3235,6 +3250,17 @@ public EVROverlayError GetOverlayCurvature(ulong ulOverlayHandle,ref float pfCur EVROverlayError result = FnTable.GetOverlayCurvature(ulOverlayHandle,ref pfCurvature); return result; } + public EVROverlayError SetOverlayPreCurvePitch(ulong ulOverlayHandle,float fRadians) + { + EVROverlayError result = FnTable.SetOverlayPreCurvePitch(ulOverlayHandle,fRadians); + return result; + } + public EVROverlayError GetOverlayPreCurvePitch(ulong ulOverlayHandle,ref float pfRadians) + { + pfRadians = 0; + EVROverlayError result = FnTable.GetOverlayPreCurvePitch(ulOverlayHandle,ref pfRadians); + return result; + } public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace) { EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace); @@ -3340,6 +3366,11 @@ public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle,E EVROverlayError result = FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle,eTrackingOrigin,coordinatesInOverlay,ref pmatTransform); return result; } + public EVROverlayError WaitFrameSync(uint nTimeoutMs) + { + EVROverlayError result = FnTable.WaitFrameSync(nTimeoutMs); + return result; + } // This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were // originally mis-compiled with the wrong packing for Linux and OSX. [UnmanagedFunctionPointer(CallingConvention.StdCall)] @@ -4425,11 +4456,11 @@ internal CVRBlockQueue(IntPtr pInterface) { FnTable = (IVRBlockQueue)Marshal.PtrToStructure(pInterface, typeof(IVRBlockQueue)); } - public EBlockQueueError Create(ref ulong pulQueueHandle,string pchPath,uint unBlockDataSize,uint unBlockHeaderSize,uint unBlockCount) + public EBlockQueueError Create(ref ulong pulQueueHandle,string pchPath,uint unBlockDataSize,uint unBlockHeaderSize,uint unBlockCount,uint unFlags) { pulQueueHandle = 0; IntPtr pchPathUtf8 = Utils.ToUtf8(pchPath); - EBlockQueueError result = FnTable.Create(ref pulQueueHandle,pchPathUtf8,unBlockDataSize,unBlockHeaderSize,unBlockCount); + EBlockQueueError result = FnTable.Create(ref pulQueueHandle,pchPathUtf8,unBlockDataSize,unBlockHeaderSize,unBlockCount,unFlags); Marshal.FreeHGlobal(pchPathUtf8); return result; } @@ -4629,6 +4660,8 @@ public enum ETrackedDeviceProperty Prop_ManufacturerSerialNumber_String = 1049, Prop_ComputedSerialNumber_String = 1050, Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, + Prop_DevicePowerUsage_Float = 1052, + Prop_IgnoreMotionForStandby_Bool = 1053, Prop_ReportsTimeSinceVSync_Bool = 2000, Prop_SecondsFromVsyncToPhotons_Float = 2001, Prop_DisplayFrequency_Float = 2002, @@ -4717,10 +4750,14 @@ public enum ETrackedDeviceProperty Prop_CameraExposureTime_Float = 2088, Prop_CameraGlobalGain_Float = 2089, Prop_DashboardScale_Float = 2091, + Prop_PeerButtonInfo_String = 2092, Prop_IpdUIRangeMinMeters_Float = 2100, Prop_IpdUIRangeMaxMeters_Float = 2101, Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, Prop_Hmd_SupportsMicMonitoring_Bool = 2103, + Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104, + Prop_SupportsRoomViewDirect_Bool = 2105, + Prop_SupportsAppThrottling_Bool = 2106, Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, @@ -4817,6 +4854,7 @@ public enum EVRSubmitFlags Submit_VulkanTextureWithArrayData = 64, Submit_GlArrayTexture = 128, Submit_Reserved2 = 32768, + Submit_Reserved3 = 65536, } public enum EVRState { @@ -4904,6 +4942,9 @@ public enum EVREventType VREvent_ShowDevTools = 529, VREvent_DesktopViewUpdating = 530, VREvent_DesktopViewReady = 531, + VREvent_StartDashboard = 532, + VREvent_ElevatePrism = 533, + VREvent_OverlayClosed = 534, VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, VREvent_Notification_BeginInteraction = 602, @@ -4913,6 +4954,7 @@ public enum EVREventType VREvent_QuitAcknowledged = 703, VREvent_DriverRequestedQuit = 704, VREvent_RestartRequested = 705, + VREvent_InvalidateSwapTextureSets = 706, VREvent_ChaperoneDataHasChanged = 800, VREvent_ChaperoneUniverseHasChanged = 801, VREvent_ChaperoneTempDataHasChanged = 802, @@ -4967,6 +5009,7 @@ public enum EVREventType VREvent_Compositor_OutOfVideoMemory = 1417, VREvent_Compositor_DisplayModeNotSupported = 1418, VREvent_Compositor_StageOverrideReady = 1419, + VREvent_Compositor_RequestDisconnectReconnect = 1420, VREvent_TrackedCamera_StartVideoStream = 1500, VREvent_TrackedCamera_StopVideoStream = 1501, VREvent_TrackedCamera_PauseVideoStream = 1502, @@ -5157,6 +5200,7 @@ public enum EVROverlayError TextureAlreadyLocked = 31, TextureLockCapacityReached = 32, TextureNotLocked = 33, + TimedOut = 34, } public enum EVRApplicationType { @@ -5173,7 +5217,8 @@ public enum EVRApplicationType VRApplication_OpenXRScene = 10, VRApplication_OpenXROverlay = 11, VRApplication_Prism = 12, - VRApplication_Max = 13, + VRApplication_RoomView = 13, + VRApplication_Max = 14, } public enum EVRFirmwareError { @@ -5260,8 +5305,20 @@ public enum EVRInitError Init_PrismNeedsNewDrivers = 151, Init_PrismStartupTimedOut = 152, Init_CouldNotStartPrism = 153, - Init_CreateDriverDirectDeviceFailed = 154, - Init_PrismExitedUnexpectedly = 155, + Init_PrismClientInitFailed = 154, + Init_PrismClientStartFailed = 155, + Init_PrismExitedUnexpectedly = 156, + Init_BadLuid = 157, + Init_NoServerForAppContainer = 158, + Init_DuplicateBootstrapper = 159, + Init_VRDashboardServicePending = 160, + Init_VRDashboardServiceTimeout = 161, + Init_VRDashboardServiceStopped = 162, + Init_VRDashboardAlreadyStarted = 163, + Init_VRDashboardCopyFailed = 164, + Init_VRDashboardTokenFailure = 165, + Init_VRDashboardEnvironmentFailure = 166, + Init_VRDashboardPathFailure = 167, Driver_Failed = 200, Driver_Unknown = 201, Driver_HmdUnknown = 202, @@ -5275,6 +5332,8 @@ public enum EVRInitError Driver_HmdDriverIdOutOfBounds = 211, Driver_HmdDisplayMirrored = 212, Driver_HmdDisplayNotFoundLaptop = 213, + Driver_PeerDriverNotInstalled = 214, + Driver_WirelessHmdNotConnected = 215, IPC_ServerInitFailed = 300, IPC_ConnectFailed = 301, IPC_SharedStateInitFailed = 302, @@ -5380,8 +5439,11 @@ public enum EVRInitError Compositor_WindowInterfaceIsNull = 491, Compositor_SystemLayerCreateInstance = 492, Compositor_SystemLayerCreateSession = 493, + Compositor_CreateInverseDistortUVs = 494, + Compositor_CreateBackbufferDepth = 495, VendorSpecific_UnableToConnectToOculusRuntime = 1000, VendorSpecific_WindowsNotInDevMode = 1001, + VendorSpecific_OculusLinkNotEnabled = 1002, VendorSpecific_HmdFound_CantOpenDevice = 1101, VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, VendorSpecific_HmdFound_NoStoredConfig = 1103, @@ -5396,6 +5458,7 @@ public enum EVRInitError VendorSpecific_HmdFound_UserDataError = 1112, VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, VendorSpecific_OculusRuntimeBadInstall = 1114, + VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, Steam_SteamInstallationNotFound = 2000, LastError = 2001, } @@ -5609,6 +5672,7 @@ public enum VROverlayFlags HideLaserIntersection = 524288, WantsModalBehavior = 1048576, IsPremultiplied = 2097152, + IgnoreTextureAlpha = 4194304, } public enum VRMessageOverlayResponse { @@ -5676,6 +5740,7 @@ public enum EVRRenderModelTextureFormat BC4 = 2, BC7 = 3, BC7_SRGB = 4, + RGBA16_FLOAT = 5, } public enum EVRNotificationType { @@ -5802,6 +5867,10 @@ public enum EBlockQueueReadType BlockQueueRead_New = 1, BlockQueueRead_Next = 2, } +public enum EBlockQueueCreationFlag +{ + BlockQueueFlag_OwnerIsReader = 1, +} [StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t { @@ -6506,6 +6575,7 @@ public void Unpack(ref VRControllerState_t unpacked) public ushort unHeight; public IntPtr rubTextureMapData; // const uint8_t * public EVRRenderModelTextureFormat format; + public ushort unMipLevels; } // This structure is for backwards binary compatibility on Linux and OSX only [StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_TextureMap_t_Packed @@ -6514,12 +6584,14 @@ public void Unpack(ref VRControllerState_t unpacked) public ushort unHeight; public IntPtr rubTextureMapData; // const uint8_t * public EVRRenderModelTextureFormat format; + public ushort unMipLevels; public RenderModel_TextureMap_t_Packed(RenderModel_TextureMap_t unpacked) { this.unWidth = unpacked.unWidth; this.unHeight = unpacked.unHeight; this.rubTextureMapData = unpacked.rubTextureMapData; this.format = unpacked.format; + this.unMipLevels = unpacked.unMipLevels; } public void Unpack(ref RenderModel_TextureMap_t unpacked) { @@ -6527,6 +6599,7 @@ public void Unpack(ref RenderModel_TextureMap_t unpacked) unpacked.unHeight = this.unHeight; unpacked.rubTextureMapData = this.rubTextureMapData; unpacked.format = this.format; + unpacked.unMipLevels = this.unMipLevels; } } [StructLayout(LayoutKind.Sequential)] public struct RenderModel_t @@ -7565,7 +7638,7 @@ public static uint GetInitToken() public const uint k_unVROverlayMaxNameLength = 128; public const uint k_unMaxOverlayCount = 128; public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - public const string IVROverlay_Version = "IVROverlay_025"; + public const string IVROverlay_Version = "IVROverlay_026"; public const string IVROverlayView_Version = "IVROverlayView_003"; public const uint k_unHeadsetViewMaxWidth = 3840; public const uint k_unHeadsetViewMaxHeight = 2160; @@ -7613,6 +7686,8 @@ public static uint GetInitToken() public const string k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; public const string k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; public const string k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; + public const string k_pch_SteamVR_WorldScale_Float = "worldScale"; + public const string k_pch_SteamVR_FovScale_Int32 = "fovScale"; public const string k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; @@ -7656,6 +7731,7 @@ public static uint GetInitToken() public const string k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; public const string k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; public const string k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + public const string k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; public const string k_pch_SteamVR_UsePrism_Bool = "usePrism"; public const string k_pch_DirectMode_Section = "direct_mode"; public const string k_pch_DirectMode_Enable_Bool = "enable"; @@ -7764,6 +7840,7 @@ public static uint GetInitToken() public const string k_pch_Dashboard_DesktopScale = "desktopScale"; public const string k_pch_Dashboard_DashboardScale = "dashboardScale"; public const string k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; + public const string k_pch_Dashboard_StickyDashboard = "stickyDashboard"; public const string k_pch_modelskin_Section = "modelskins"; public const string k_pch_Driver_Enable_Bool = "enable"; public const string k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode"; @@ -7850,7 +7927,7 @@ public static uint GetInitToken() public const string k_pchPathClientAppKey = "/client_info/app_key"; public const ulong k_ulInvalidPathHandle = 0; public const string IVRPaths_Version = "IVRPaths_001"; - public const string IVRBlockQueue_Version = "IVRBlockQueue_004"; + public const string IVRBlockQueue_Version = "IVRBlockQueue_005"; static uint VRToken { get; set; } diff --git a/headers/openvr_api.json b/headers/openvr_api.json index 463243b1..88af9451 100644 --- a/headers/openvr_api.json +++ b/headers/openvr_api.json @@ -1,4 +1,5 @@ -{"typedefs":[{"typedef": "vr::SpatialAnchorHandle_t","type": "uint32_t"} +{"typedefs":[{"typedef": "vr::PropertyTypeTag_t","type": "uint32_t"} +,{"typedef": "vr::SpatialAnchorHandle_t","type": "uint32_t"} ,{"typedef": "vr::glSharedTextureHandle_t","type": "void *"} ,{"typedef": "vr::glInt_t","type": "int32_t"} ,{"typedef": "vr::glUInt_t","type": "uint32_t"} @@ -152,6 +153,8 @@ ,{"name": "Prop_ManufacturerSerialNumber_String","value": "1049"} ,{"name": "Prop_ComputedSerialNumber_String","value": "1050"} ,{"name": "Prop_EstimatedDeviceFirstUseTime_Int32","value": "1051"} + ,{"name": "Prop_DevicePowerUsage_Float","value": "1052"} + ,{"name": "Prop_IgnoreMotionForStandby_Bool","value": "1053"} ,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"} ,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"} ,{"name": "Prop_DisplayFrequency_Float","value": "2002"} @@ -240,10 +243,14 @@ ,{"name": "Prop_CameraExposureTime_Float","value": "2088"} ,{"name": "Prop_CameraGlobalGain_Float","value": "2089"} ,{"name": "Prop_DashboardScale_Float","value": "2091"} + ,{"name": "Prop_PeerButtonInfo_String","value": "2092"} ,{"name": "Prop_IpdUIRangeMinMeters_Float","value": "2100"} ,{"name": "Prop_IpdUIRangeMaxMeters_Float","value": "2101"} ,{"name": "Prop_Hmd_SupportsHDCP14LegacyCompat_Bool","value": "2102"} ,{"name": "Prop_Hmd_SupportsMicMonitoring_Bool","value": "2103"} + ,{"name": "Prop_Hmd_SupportsDisplayPortTrainingMode_Bool","value": "2104"} + ,{"name": "Prop_SupportsRoomViewDirect_Bool","value": "2105"} + ,{"name": "Prop_SupportsAppThrottling_Bool","value": "2106"} ,{"name": "Prop_DriverRequestedMuraCorrectionMode_Int32","value": "2200"} ,{"name": "Prop_DriverRequestedMuraFeather_InnerLeft_Int32","value": "2201"} ,{"name": "Prop_DriverRequestedMuraFeather_InnerRight_Int32","value": "2202"} @@ -337,6 +344,7 @@ ,{"name": "Submit_VulkanTextureWithArrayData","value": "64"} ,{"name": "Submit_GlArrayTexture","value": "128"} ,{"name": "Submit_Reserved2","value": "32768"} + ,{"name": "Submit_Reserved3","value": "65536"} ]} , {"enumname": "vr::EVRState","values": [ {"name": "VRState_Undefined","value": "-1"} @@ -422,6 +430,9 @@ ,{"name": "VREvent_ShowDevTools","value": "529"} ,{"name": "VREvent_DesktopViewUpdating","value": "530"} ,{"name": "VREvent_DesktopViewReady","value": "531"} + ,{"name": "VREvent_StartDashboard","value": "532"} + ,{"name": "VREvent_ElevatePrism","value": "533"} + ,{"name": "VREvent_OverlayClosed","value": "534"} ,{"name": "VREvent_Notification_Shown","value": "600"} ,{"name": "VREvent_Notification_Hidden","value": "601"} ,{"name": "VREvent_Notification_BeginInteraction","value": "602"} @@ -431,6 +442,7 @@ ,{"name": "VREvent_QuitAcknowledged","value": "703"} ,{"name": "VREvent_DriverRequestedQuit","value": "704"} ,{"name": "VREvent_RestartRequested","value": "705"} + ,{"name": "VREvent_InvalidateSwapTextureSets","value": "706"} ,{"name": "VREvent_ChaperoneDataHasChanged","value": "800"} ,{"name": "VREvent_ChaperoneUniverseHasChanged","value": "801"} ,{"name": "VREvent_ChaperoneTempDataHasChanged","value": "802"} @@ -485,6 +497,7 @@ ,{"name": "VREvent_Compositor_OutOfVideoMemory","value": "1417"} ,{"name": "VREvent_Compositor_DisplayModeNotSupported","value": "1418"} ,{"name": "VREvent_Compositor_StageOverrideReady","value": "1419"} + ,{"name": "VREvent_Compositor_RequestDisconnectReconnect","value": "1420"} ,{"name": "VREvent_TrackedCamera_StartVideoStream","value": "1500"} ,{"name": "VREvent_TrackedCamera_StopVideoStream","value": "1501"} ,{"name": "VREvent_TrackedCamera_PauseVideoStream","value": "1502"} @@ -662,6 +675,7 @@ ,{"name": "VROverlayError_TextureAlreadyLocked","value": "31"} ,{"name": "VROverlayError_TextureLockCapacityReached","value": "32"} ,{"name": "VROverlayError_TextureNotLocked","value": "33"} + ,{"name": "VROverlayError_TimedOut","value": "34"} ]} , {"enumname": "vr::EVRApplicationType","values": [ {"name": "VRApplication_Other","value": "0"} @@ -677,7 +691,8 @@ ,{"name": "VRApplication_OpenXRScene","value": "10"} ,{"name": "VRApplication_OpenXROverlay","value": "11"} ,{"name": "VRApplication_Prism","value": "12"} - ,{"name": "VRApplication_Max","value": "13"} + ,{"name": "VRApplication_RoomView","value": "13"} + ,{"name": "VRApplication_Max","value": "14"} ]} , {"enumname": "vr::EVRFirmwareError","values": [ {"name": "VRFirmwareError_None","value": "0"} @@ -759,8 +774,20 @@ ,{"name": "VRInitError_Init_PrismNeedsNewDrivers","value": "151"} ,{"name": "VRInitError_Init_PrismStartupTimedOut","value": "152"} ,{"name": "VRInitError_Init_CouldNotStartPrism","value": "153"} - ,{"name": "VRInitError_Init_CreateDriverDirectDeviceFailed","value": "154"} - ,{"name": "VRInitError_Init_PrismExitedUnexpectedly","value": "155"} + ,{"name": "VRInitError_Init_PrismClientInitFailed","value": "154"} + ,{"name": "VRInitError_Init_PrismClientStartFailed","value": "155"} + ,{"name": "VRInitError_Init_PrismExitedUnexpectedly","value": "156"} + ,{"name": "VRInitError_Init_BadLuid","value": "157"} + ,{"name": "VRInitError_Init_NoServerForAppContainer","value": "158"} + ,{"name": "VRInitError_Init_DuplicateBootstrapper","value": "159"} + ,{"name": "VRInitError_Init_VRDashboardServicePending","value": "160"} + ,{"name": "VRInitError_Init_VRDashboardServiceTimeout","value": "161"} + ,{"name": "VRInitError_Init_VRDashboardServiceStopped","value": "162"} + ,{"name": "VRInitError_Init_VRDashboardAlreadyStarted","value": "163"} + ,{"name": "VRInitError_Init_VRDashboardCopyFailed","value": "164"} + ,{"name": "VRInitError_Init_VRDashboardTokenFailure","value": "165"} + ,{"name": "VRInitError_Init_VRDashboardEnvironmentFailure","value": "166"} + ,{"name": "VRInitError_Init_VRDashboardPathFailure","value": "167"} ,{"name": "VRInitError_Driver_Failed","value": "200"} ,{"name": "VRInitError_Driver_Unknown","value": "201"} ,{"name": "VRInitError_Driver_HmdUnknown","value": "202"} @@ -774,6 +801,8 @@ ,{"name": "VRInitError_Driver_HmdDriverIdOutOfBounds","value": "211"} ,{"name": "VRInitError_Driver_HmdDisplayMirrored","value": "212"} ,{"name": "VRInitError_Driver_HmdDisplayNotFoundLaptop","value": "213"} + ,{"name": "VRInitError_Driver_PeerDriverNotInstalled","value": "214"} + ,{"name": "VRInitError_Driver_WirelessHmdNotConnected","value": "215"} ,{"name": "VRInitError_IPC_ServerInitFailed","value": "300"} ,{"name": "VRInitError_IPC_ConnectFailed","value": "301"} ,{"name": "VRInitError_IPC_SharedStateInitFailed","value": "302"} @@ -879,8 +908,11 @@ ,{"name": "VRInitError_Compositor_WindowInterfaceIsNull","value": "491"} ,{"name": "VRInitError_Compositor_SystemLayerCreateInstance","value": "492"} ,{"name": "VRInitError_Compositor_SystemLayerCreateSession","value": "493"} + ,{"name": "VRInitError_Compositor_CreateInverseDistortUVs","value": "494"} + ,{"name": "VRInitError_Compositor_CreateBackbufferDepth","value": "495"} ,{"name": "VRInitError_VendorSpecific_UnableToConnectToOculusRuntime","value": "1000"} ,{"name": "VRInitError_VendorSpecific_WindowsNotInDevMode","value": "1001"} + ,{"name": "VRInitError_VendorSpecific_OculusLinkNotEnabled","value": "1002"} ,{"name": "VRInitError_VendorSpecific_HmdFound_CantOpenDevice","value": "1101"} ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart","value": "1102"} ,{"name": "VRInitError_VendorSpecific_HmdFound_NoStoredConfig","value": "1103"} @@ -895,6 +927,7 @@ ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataError","value": "1112"} ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck","value": "1113"} ,{"name": "VRInitError_VendorSpecific_OculusRuntimeBadInstall","value": "1114"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1","value": "1115"} ,{"name": "VRInitError_Steam_SteamInstallationNotFound","value": "2000"} ,{"name": "VRInitError_LastError","value": "2001"} ]} @@ -1088,6 +1121,7 @@ ,{"name": "VROverlayFlags_HideLaserIntersection","value": "524288"} ,{"name": "VROverlayFlags_WantsModalBehavior","value": "1048576"} ,{"name": "VROverlayFlags_IsPremultiplied","value": "2097152"} + ,{"name": "VROverlayFlags_IgnoreTextureAlpha","value": "4194304"} ]} , {"enumname": "vr::VRMessageOverlayResponse","values": [ {"name": "VRMessageOverlayResponse_ButtonPress_0","value": "0"} @@ -1146,6 +1180,7 @@ ,{"name": "VRRenderModelTextureFormat_BC4","value": "2"} ,{"name": "VRRenderModelTextureFormat_BC7","value": "3"} ,{"name": "VRRenderModelTextureFormat_BC7_SRGB","value": "4"} + ,{"name": "VRRenderModelTextureFormat_RGBA16_FLOAT","value": "5"} ]} , {"enumname": "vr::EVRNotificationType","values": [ {"name": "EVRNotificationType_Transient","value": "0"} @@ -1255,6 +1290,9 @@ ,{"name": "BlockQueueRead_New","value": "1"} ,{"name": "BlockQueueRead_Next","value": "2"} ]} +, {"enumname": "vr::EBlockQueueCreationFlag","values": [ + {"name": "BlockQueueFlag_OwnerIsReader","value": "1"} +]} ], "consts":[{ "constname": "k_nDriverNone","consttype": "const uint32_t", "constval": "4294967295"} @@ -1369,7 +1407,7 @@ ,{ "constname": "k_unMaxOverlayIntersectionMaskPrimitivesCount","consttype": "const uint32_t", "constval": "32"} ,{ - "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_025"} + "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_026"} ,{ "constname": "IVROverlayView_Version","consttype": "const char *const", "constval": "IVROverlayView_003"} ,{ @@ -1464,6 +1502,10 @@ "constname": "k_pch_SteamVR_FramesToThrottle_Int32","consttype": "const char *const", "constval": "framesToThrottle"} ,{ "constname": "k_pch_SteamVR_AdditionalFramesToPredict_Int32","consttype": "const char *const", "constval": "additionalFramesToPredict"} +,{ + "constname": "k_pch_SteamVR_WorldScale_Float","consttype": "const char *const", "constval": "worldScale"} +,{ + "constname": "k_pch_SteamVR_FovScale_Int32","consttype": "const char *const", "constval": "fovScale"} ,{ "constname": "k_pch_SteamVR_DisableAsyncReprojection_Bool","consttype": "const char *const", "constval": "disableAsync"} ,{ @@ -1550,6 +1592,8 @@ "constname": "k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool","consttype": "const char *const", "constval": "blockOculusSDKOnAllLaunches"} ,{ "constname": "k_pch_SteamVR_HDCPLegacyCompatibility_Bool","consttype": "const char *const", "constval": "hdcp14legacyCompatibility"} +,{ + "constname": "k_pch_SteamVR_DisplayPortTrainingMode_Int","consttype": "const char *const", "constval": "displayPortTrainingMode"} ,{ "constname": "k_pch_SteamVR_UsePrism_Bool","consttype": "const char *const", "constval": "usePrism"} ,{ @@ -1766,6 +1810,8 @@ "constname": "k_pch_Dashboard_DashboardScale","consttype": "const char *const", "constval": "dashboardScale"} ,{ "constname": "k_pch_Dashboard_UseStandaloneSystemLayer","consttype": "const char *const", "constval": "standaloneSystemLayer"} +,{ + "constname": "k_pch_Dashboard_StickyDashboard","consttype": "const char *const", "constval": "stickyDashboard"} ,{ "constname": "k_pch_modelskin_Section","consttype": "const char *const", "constval": "modelskins"} ,{ @@ -1939,7 +1985,7 @@ ,{ "constname": "IVRPaths_Version","consttype": "const char *const", "constval": "IVRPaths_001"} ,{ - "constname": "IVRBlockQueue_Version","consttype": "const char *", "constval": "IVRBlockQueue_004"} + "constname": "IVRBlockQueue_Version","consttype": "const char *", "constval": "IVRBlockQueue_005"} ], "structs":[{"struct": "vr::HmdMatrix34_t","fields": [ { "fieldname": "m", "fieldtype": "float [3][4]"}]} @@ -2303,7 +2349,8 @@ { "fieldname": "unWidth", "fieldtype": "uint16_t"}, { "fieldname": "unHeight", "fieldtype": "uint16_t"}, { "fieldname": "rubTextureMapData", "fieldtype": "const uint8_t *"}, -{ "fieldname": "format", "fieldtype": "enum vr::EVRRenderModelTextureFormat"}]} +{ "fieldname": "format", "fieldtype": "enum vr::EVRRenderModelTextureFormat"}, +{ "fieldname": "unMipLevels", "fieldtype": "uint16_t"}]} ,{"struct": "vr::RenderModel_t","fields": [ { "fieldname": "rVertexData", "fieldtype": "const struct vr::RenderModel_Vertex_t *"}, { "fieldname": "unVertexCount", "fieldtype": "uint32_t"}, @@ -4079,6 +4126,24 @@ { "paramname": "pfCurvature" ,"paramtype": "float *"} ] } +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayPreCurvePitch", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "fRadians" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayPreCurvePitch", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pfRadians" ,"paramtype": "float *"} + ] +} ,{ "classname": "vr::IVROverlay", "methodname": "SetOverlayTextureColorSpace", @@ -4270,6 +4335,14 @@ { "paramname": "pmatTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} ] } +,{ + "classname": "vr::IVROverlay", + "methodname": "WaitFrameSync", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "nTimeoutMs" ,"paramtype": "uint32_t"} + ] +} ,{ "classname": "vr::IVROverlay", "methodname": "PollNextOverlayEvent", @@ -5677,7 +5750,8 @@ { "paramname": "pchPath" ,"paramtype": "const char *"}, { "paramname": "unBlockDataSize" ,"paramtype": "uint32_t"}, { "paramname": "unBlockHeaderSize" ,"paramtype": "uint32_t"}, -{ "paramname": "unBlockCount" ,"paramtype": "uint32_t"} +{ "paramname": "unBlockCount" ,"paramtype": "uint32_t"}, +{ "paramname": "unFlags" ,"paramtype": "uint32_t"} ] } ,{ diff --git a/headers/openvr_capi.h b/headers/openvr_capi.h index 13c71fc1..da134188 100644 --- a/headers/openvr_capi.h +++ b/headers/openvr_capi.h @@ -120,7 +120,7 @@ static const unsigned long k_unVROverlayMaxKeyLength = 128; static const unsigned long k_unVROverlayMaxNameLength = 128; static const unsigned long k_unMaxOverlayCount = 128; static const unsigned long k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; -static const char * IVROverlay_Version = "IVROverlay_025"; +static const char * IVROverlay_Version = "IVROverlay_026"; static const char * IVROverlayView_Version = "IVROverlayView_003"; static const unsigned long k_unHeadsetViewMaxWidth = 3840; static const unsigned long k_unHeadsetViewMaxHeight = 2160; @@ -168,6 +168,8 @@ static const char * k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; static const char * k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; static const char * k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; static const char * k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; +static const char * k_pch_SteamVR_WorldScale_Float = "worldScale"; +static const char * k_pch_SteamVR_FovScale_Int32 = "fovScale"; static const char * k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; @@ -211,6 +213,7 @@ static const char * k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2 static const char * k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; static const char * k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; static const char * k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; +static const char * k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; static const char * k_pch_SteamVR_UsePrism_Bool = "usePrism"; static const char * k_pch_DirectMode_Section = "direct_mode"; static const char * k_pch_DirectMode_Enable_Bool = "enable"; @@ -319,6 +322,7 @@ static const char * k_pch_Dashboard_Position = "position"; static const char * k_pch_Dashboard_DesktopScale = "desktopScale"; static const char * k_pch_Dashboard_DashboardScale = "dashboardScale"; static const char * k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; +static const char * k_pch_Dashboard_StickyDashboard = "stickyDashboard"; static const char * k_pch_modelskin_Section = "modelskins"; static const char * k_pch_Driver_Enable_Bool = "enable"; static const char * k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode"; @@ -405,7 +409,7 @@ static const char * k_pchPathUserKeyboard = "/user/keyboard"; static const char * k_pchPathClientAppKey = "/client_info/app_key"; static const unsigned long long k_ulInvalidPathHandle = 0; static const char * IVRPaths_Version = "IVRPaths_001"; -static const char * IVRBlockQueue_Version = "IVRBlockQueue_004"; +static const char * IVRBlockQueue_Version = "IVRBlockQueue_005"; // OpenVR Enums @@ -536,6 +540,8 @@ typedef enum ETrackedDeviceProperty ETrackedDeviceProperty_Prop_ManufacturerSerialNumber_String = 1049, ETrackedDeviceProperty_Prop_ComputedSerialNumber_String = 1050, ETrackedDeviceProperty_Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, + ETrackedDeviceProperty_Prop_DevicePowerUsage_Float = 1052, + ETrackedDeviceProperty_Prop_IgnoreMotionForStandby_Bool = 1053, ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000, ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, @@ -624,10 +630,14 @@ typedef enum ETrackedDeviceProperty ETrackedDeviceProperty_Prop_CameraExposureTime_Float = 2088, ETrackedDeviceProperty_Prop_CameraGlobalGain_Float = 2089, ETrackedDeviceProperty_Prop_DashboardScale_Float = 2091, + ETrackedDeviceProperty_Prop_PeerButtonInfo_String = 2092, ETrackedDeviceProperty_Prop_IpdUIRangeMinMeters_Float = 2100, ETrackedDeviceProperty_Prop_IpdUIRangeMaxMeters_Float = 2101, ETrackedDeviceProperty_Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, ETrackedDeviceProperty_Prop_Hmd_SupportsMicMonitoring_Bool = 2103, + ETrackedDeviceProperty_Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104, + ETrackedDeviceProperty_Prop_SupportsRoomViewDirect_Bool = 2105, + ETrackedDeviceProperty_Prop_SupportsAppThrottling_Bool = 2106, ETrackedDeviceProperty_Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, @@ -727,6 +737,7 @@ typedef enum EVRSubmitFlags EVRSubmitFlags_Submit_VulkanTextureWithArrayData = 64, EVRSubmitFlags_Submit_GlArrayTexture = 128, EVRSubmitFlags_Submit_Reserved2 = 32768, + EVRSubmitFlags_Submit_Reserved3 = 65536, } EVRSubmitFlags; typedef enum EVRState @@ -816,6 +827,9 @@ typedef enum EVREventType EVREventType_VREvent_ShowDevTools = 529, EVREventType_VREvent_DesktopViewUpdating = 530, EVREventType_VREvent_DesktopViewReady = 531, + EVREventType_VREvent_StartDashboard = 532, + EVREventType_VREvent_ElevatePrism = 533, + EVREventType_VREvent_OverlayClosed = 534, EVREventType_VREvent_Notification_Shown = 600, EVREventType_VREvent_Notification_Hidden = 601, EVREventType_VREvent_Notification_BeginInteraction = 602, @@ -825,6 +839,7 @@ typedef enum EVREventType EVREventType_VREvent_QuitAcknowledged = 703, EVREventType_VREvent_DriverRequestedQuit = 704, EVREventType_VREvent_RestartRequested = 705, + EVREventType_VREvent_InvalidateSwapTextureSets = 706, EVREventType_VREvent_ChaperoneDataHasChanged = 800, EVREventType_VREvent_ChaperoneUniverseHasChanged = 801, EVREventType_VREvent_ChaperoneTempDataHasChanged = 802, @@ -879,6 +894,7 @@ typedef enum EVREventType EVREventType_VREvent_Compositor_OutOfVideoMemory = 1417, EVREventType_VREvent_Compositor_DisplayModeNotSupported = 1418, EVREventType_VREvent_Compositor_StageOverrideReady = 1419, + EVREventType_VREvent_Compositor_RequestDisconnectReconnect = 1420, EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500, EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501, EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502, @@ -1082,6 +1098,7 @@ typedef enum EVROverlayError EVROverlayError_VROverlayError_TextureAlreadyLocked = 31, EVROverlayError_VROverlayError_TextureLockCapacityReached = 32, EVROverlayError_VROverlayError_TextureNotLocked = 33, + EVROverlayError_VROverlayError_TimedOut = 34, } EVROverlayError; typedef enum EVRApplicationType @@ -1099,7 +1116,8 @@ typedef enum EVRApplicationType EVRApplicationType_VRApplication_OpenXRScene = 10, EVRApplicationType_VRApplication_OpenXROverlay = 11, EVRApplicationType_VRApplication_Prism = 12, - EVRApplicationType_VRApplication_Max = 13, + EVRApplicationType_VRApplication_RoomView = 13, + EVRApplicationType_VRApplication_Max = 14, } EVRApplicationType; typedef enum EVRFirmwareError @@ -1191,8 +1209,20 @@ typedef enum EVRInitError EVRInitError_VRInitError_Init_PrismNeedsNewDrivers = 151, EVRInitError_VRInitError_Init_PrismStartupTimedOut = 152, EVRInitError_VRInitError_Init_CouldNotStartPrism = 153, - EVRInitError_VRInitError_Init_CreateDriverDirectDeviceFailed = 154, - EVRInitError_VRInitError_Init_PrismExitedUnexpectedly = 155, + EVRInitError_VRInitError_Init_PrismClientInitFailed = 154, + EVRInitError_VRInitError_Init_PrismClientStartFailed = 155, + EVRInitError_VRInitError_Init_PrismExitedUnexpectedly = 156, + EVRInitError_VRInitError_Init_BadLuid = 157, + EVRInitError_VRInitError_Init_NoServerForAppContainer = 158, + EVRInitError_VRInitError_Init_DuplicateBootstrapper = 159, + EVRInitError_VRInitError_Init_VRDashboardServicePending = 160, + EVRInitError_VRInitError_Init_VRDashboardServiceTimeout = 161, + EVRInitError_VRInitError_Init_VRDashboardServiceStopped = 162, + EVRInitError_VRInitError_Init_VRDashboardAlreadyStarted = 163, + EVRInitError_VRInitError_Init_VRDashboardCopyFailed = 164, + EVRInitError_VRInitError_Init_VRDashboardTokenFailure = 165, + EVRInitError_VRInitError_Init_VRDashboardEnvironmentFailure = 166, + EVRInitError_VRInitError_Init_VRDashboardPathFailure = 167, EVRInitError_VRInitError_Driver_Failed = 200, EVRInitError_VRInitError_Driver_Unknown = 201, EVRInitError_VRInitError_Driver_HmdUnknown = 202, @@ -1206,6 +1236,8 @@ typedef enum EVRInitError EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds = 211, EVRInitError_VRInitError_Driver_HmdDisplayMirrored = 212, EVRInitError_VRInitError_Driver_HmdDisplayNotFoundLaptop = 213, + EVRInitError_VRInitError_Driver_PeerDriverNotInstalled = 214, + EVRInitError_VRInitError_Driver_WirelessHmdNotConnected = 215, EVRInitError_VRInitError_IPC_ServerInitFailed = 300, EVRInitError_VRInitError_IPC_ConnectFailed = 301, EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302, @@ -1311,8 +1343,11 @@ typedef enum EVRInitError EVRInitError_VRInitError_Compositor_WindowInterfaceIsNull = 491, EVRInitError_VRInitError_Compositor_SystemLayerCreateInstance = 492, EVRInitError_VRInitError_Compositor_SystemLayerCreateSession = 493, + EVRInitError_VRInitError_Compositor_CreateInverseDistortUVs = 494, + EVRInitError_VRInitError_Compositor_CreateBackbufferDepth = 495, EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, EVRInitError_VRInitError_VendorSpecific_WindowsNotInDevMode = 1001, + EVRInitError_VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002, EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, @@ -1327,6 +1362,7 @@ typedef enum EVRInitError EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, EVRInitError_VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000, EVRInitError_VRInitError_LastError = 2001, } EVRInitError; @@ -1560,6 +1596,7 @@ typedef enum VROverlayFlags VROverlayFlags_HideLaserIntersection = 524288, VROverlayFlags_WantsModalBehavior = 1048576, VROverlayFlags_IsPremultiplied = 2097152, + VROverlayFlags_IgnoreTextureAlpha = 4194304, } VROverlayFlags; typedef enum VRMessageOverlayResponse @@ -1636,6 +1673,7 @@ typedef enum EVRRenderModelTextureFormat EVRRenderModelTextureFormat_VRRenderModelTextureFormat_BC4 = 2, EVRRenderModelTextureFormat_VRRenderModelTextureFormat_BC7 = 3, EVRRenderModelTextureFormat_VRRenderModelTextureFormat_BC7_SRGB = 4, + EVRRenderModelTextureFormat_VRRenderModelTextureFormat_RGBA16_FLOAT = 5, } EVRRenderModelTextureFormat; typedef enum EVRNotificationType @@ -1780,6 +1818,11 @@ typedef enum EBlockQueueReadType EBlockQueueReadType_BlockQueueRead_Next = 2, } EBlockQueueReadType; +typedef enum EBlockQueueCreationFlag +{ + EBlockQueueCreationFlag_BlockQueueFlag_OwnerIsReader = 1, +} EBlockQueueCreationFlag; + // OpenVR typedefs @@ -1787,6 +1830,7 @@ typedef uint32_t TrackedDeviceIndex_t; typedef uint32_t VRNotificationId; typedef uint64_t VROverlayHandle_t; +typedef uint32_t PropertyTypeTag_t; typedef uint32_t SpatialAnchorHandle_t; typedef void * glSharedTextureHandle_t; typedef int32_t glInt_t; @@ -2387,6 +2431,7 @@ typedef struct RenderModel_TextureMap_t uint16_t unHeight; uint8_t * rubTextureMapData; // const uint8_t * enum EVRRenderModelTextureFormat format; + uint16_t unMipLevels; } RenderModel_TextureMap_t; #if defined(__linux__) || defined(__APPLE__) @@ -2863,6 +2908,8 @@ struct VR_IVROverlay_FnTable EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfWidthInMeters); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayCurvature)(VROverlayHandle_t ulOverlayHandle, float fCurvature); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayCurvature)(VROverlayHandle_t ulOverlayHandle, float * pfCurvature); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayPreCurvePitch)(VROverlayHandle_t ulOverlayHandle, float fRadians); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayPreCurvePitch)(VROverlayHandle_t ulOverlayHandle, float * pfRadians); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); @@ -2883,6 +2930,7 @@ struct VR_IVROverlay_FnTable EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle); bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordinates)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *WaitFrameSync)(uint32_t nTimeoutMs); bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t ulOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod); @@ -3089,7 +3137,7 @@ struct VR_IVRPaths_FnTable struct VR_IVRBlockQueue_FnTable { - EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *Create)(PropertyContainerHandle_t * pulQueueHandle, char * pchPath, uint32_t unBlockDataSize, uint32_t unBlockHeaderSize, uint32_t unBlockCount); + EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *Create)(PropertyContainerHandle_t * pulQueueHandle, char * pchPath, uint32_t unBlockDataSize, uint32_t unBlockHeaderSize, uint32_t unBlockCount, uint32_t unFlags); EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *Connect)(PropertyContainerHandle_t * pulQueueHandle, char * pchPath); EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *Destroy)(PropertyContainerHandle_t ulQueueHandle); EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *AcquireWriteOnlyBlock)(PropertyContainerHandle_t ulQueueHandle, PropertyContainerHandle_t * pulBlockHandle, void ** ppvBuffer); diff --git a/headers/openvr_driver.h b/headers/openvr_driver.h index 34b7053d..4059d79f 100644 --- a/headers/openvr_driver.h +++ b/headers/openvr_driver.h @@ -16,8 +16,8 @@ namespace vr { static const uint32_t k_nSteamVRVersionMajor = 1; - static const uint32_t k_nSteamVRVersionMinor = 16; - static const uint32_t k_nSteamVRVersionBuild = 8; + static const uint32_t k_nSteamVRVersionMinor = 23; + static const uint32_t k_nSteamVRVersionBuild = 7; } // namespace vr // public_vrtypes.h @@ -29,6 +29,8 @@ namespace vr { #pragma pack( push, 8 ) +typedef uint32_t PropertyTypeTag_t; + // right-handed system // +y is up // +x is to the right @@ -387,6 +389,8 @@ enum ETrackedDeviceProperty Prop_ManufacturerSerialNumber_String = 1049, Prop_ComputedSerialNumber_String = 1050, Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, + Prop_DevicePowerUsage_Float = 1052, + Prop_IgnoreMotionForStandby_Bool = 1053, // Properties that are unique to TrackedDeviceClass_HMD Prop_ReportsTimeSinceVSync_Bool = 2000, @@ -479,10 +483,15 @@ enum ETrackedDeviceProperty Prop_CameraGlobalGain_Float = 2089, // Prop_DashboardLayoutPathName_String = 2090, // DELETED Prop_DashboardScale_Float = 2091, + Prop_PeerButtonInfo_String = 2092, + Prop_IpdUIRangeMinMeters_Float = 2100, Prop_IpdUIRangeMaxMeters_Float = 2101, Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, Prop_Hmd_SupportsMicMonitoring_Bool = 2103, + Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104, + Prop_SupportsRoomViewDirect_Bool = 2105, + Prop_SupportsAppThrottling_Bool = 2106, // Driver requested mura correction properties Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, @@ -671,8 +680,8 @@ enum EVRSubmitFlags Submit_GlArrayTexture = 0x80, // Do not use - Submit_Reserved2 = 0x8000, - + Submit_Reserved2 = 0x08000, + Submit_Reserved3 = 0x10000, }; @@ -824,6 +833,11 @@ enum EVREventType VREvent_DesktopViewUpdating = 530, VREvent_DesktopViewReady = 531, + VREvent_StartDashboard = 532, + VREvent_ElevatePrism = 533, + + VREvent_OverlayClosed = 534, + VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, VREvent_Notification_BeginInteraction = 602, @@ -835,6 +849,7 @@ enum EVREventType VREvent_QuitAcknowledged = 703, // data is process VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down VREvent_RestartRequested = 705, // A driver or other component wants the user to restart SteamVR + VREvent_InvalidateSwapTextureSets = 706, VREvent_ChaperoneDataHasChanged = 800, // this will never happen with the new chaperone system VREvent_ChaperoneUniverseHasChanged = 801, @@ -905,6 +920,7 @@ enum EVREventType VREvent_Compositor_OutOfVideoMemory = 1417, VREvent_Compositor_DisplayModeNotSupported = 1418, // k_pch_SteamVR_PreferredRefreshRate VREvent_Compositor_StageOverrideReady = 1419, + VREvent_Compositor_RequestDisconnectReconnect = 1420, VREvent_TrackedCamera_StartVideoStream = 1500, VREvent_TrackedCamera_StopVideoStream = 1501, @@ -1484,6 +1500,7 @@ enum EVROverlayError VROverlayError_TextureAlreadyLocked = 31, VROverlayError_TextureLockCapacityReached = 32, VROverlayError_TextureNotLocked = 33, + VROverlayError_TimedOut = 34, }; /** enum values to pass in to VR_Init to identify whether the application will @@ -1505,6 +1522,7 @@ enum EVRApplicationType VRApplication_OpenXRScene = 10, // reserved for openxr (started session) VRApplication_OpenXROverlay = 11, // reserved for openxr (started overlay session) VRApplication_Prism = 12, // reserved for the vrprismhost process + VRApplication_RoomView = 13, // reserved for the RoomView process VRApplication_Max }; @@ -1520,6 +1538,15 @@ inline bool IsOpenXRAppType( EVRApplicationType eType ) } +/** returns true if the specified application type submits eye buffers */ +inline bool BAppTypeSubmitsEyeBuffers( EVRApplicationType eType ) +{ + return eType == VRApplication_Scene + || eType == VRApplication_OpenXRScene + || eType == VRApplication_RoomView; +} + + /** error codes for firmware */ enum EVRFirmwareError { @@ -1641,8 +1668,20 @@ enum EVRInitError VRInitError_Init_PrismNeedsNewDrivers = 151, VRInitError_Init_PrismStartupTimedOut = 152, VRInitError_Init_CouldNotStartPrism = 153, - VRInitError_Init_CreateDriverDirectDeviceFailed = 154, - VRInitError_Init_PrismExitedUnexpectedly = 155, + VRInitError_Init_PrismClientInitFailed = 154, + VRInitError_Init_PrismClientStartFailed = 155, + VRInitError_Init_PrismExitedUnexpectedly = 156, + VRInitError_Init_BadLuid = 157, + VRInitError_Init_NoServerForAppContainer = 158, + VRInitError_Init_DuplicateBootstrapper = 159, + VRInitError_Init_VRDashboardServicePending = 160, + VRInitError_Init_VRDashboardServiceTimeout = 161, + VRInitError_Init_VRDashboardServiceStopped = 162, + VRInitError_Init_VRDashboardAlreadyStarted = 163, + VRInitError_Init_VRDashboardCopyFailed = 164, + VRInitError_Init_VRDashboardTokenFailure = 165, + VRInitError_Init_VRDashboardEnvironmentFailure = 166, + VRInitError_Init_VRDashboardPathFailure = 167, VRInitError_Driver_Failed = 200, VRInitError_Driver_Unknown = 201, @@ -1658,6 +1697,9 @@ enum EVRInitError VRInitError_Driver_HmdDriverIdOutOfBounds = 211, VRInitError_Driver_HmdDisplayMirrored = 212, VRInitError_Driver_HmdDisplayNotFoundLaptop = 213, + VRInitError_Driver_PeerDriverNotInstalled = 214, + VRInitError_Driver_WirelessHmdNotConnected = 215, + // Never make error 259 because we return it from main and it would conflict with STILL_ACTIVE VRInitError_IPC_ServerInitFailed = 300, @@ -1766,9 +1808,12 @@ enum EVRInitError VRInitError_Compositor_WindowInterfaceIsNull = 491, VRInitError_Compositor_SystemLayerCreateInstance = 492, VRInitError_Compositor_SystemLayerCreateSession = 493, + VRInitError_Compositor_CreateInverseDistortUVs = 494, + VRInitError_Compositor_CreateBackbufferDepth = 495, VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, VRInitError_VendorSpecific_WindowsNotInDevMode = 1001, + VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002, VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, @@ -1784,6 +1829,7 @@ enum EVRInitError VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114, + VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, VRInitError_Steam_SteamInstallationNotFound = 2000, @@ -2078,6 +2124,7 @@ enum ECameraVideoStreamFormat CVS_FORMAT_YUYV16 = 5, // 16 bits per pixel CVS_FORMAT_BAYER16BG = 6, // 16 bits per pixel, 10-bit BG-format Bayer, see https://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html CVS_FORMAT_MJPEG = 7, // variable-sized MJPEG Open DML format, see https://www.loc.gov/preservation/digital/formats/fdd/fdd000063.shtml + CVS_FORMAT_RGBX32 = 8, // Full-sized pixels, 4BPP, LSB = RED CVS_MAX_FORMATS }; @@ -2318,6 +2365,8 @@ namespace vr static const char * const k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; static const char * const k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; static const char * const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; + static const char * const k_pch_SteamVR_WorldScale_Float = "worldScale"; + static const char * const k_pch_SteamVR_FovScale_Int32 = "fovScale"; static const char * const k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; @@ -2361,6 +2410,7 @@ namespace vr static const char * const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; static const char * const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; static const char * const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + static const char * const k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; static const char * const k_pch_SteamVR_UsePrism_Bool = "usePrism"; //----------------------------------------------------------------------------- @@ -2508,6 +2558,7 @@ namespace vr static const char * const k_pch_Dashboard_DesktopScale = "desktopScale"; static const char * const k_pch_Dashboard_DashboardScale = "dashboardScale"; static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; + static const char * const k_pch_Dashboard_StickyDashboard = "stickyDashboard"; //----------------------------------------------------------------------------- // model skin keys @@ -2815,14 +2866,20 @@ namespace vr /** Submits queued layers for display. */ virtual void Present( vr::SharedTextureHandle_t syncTexture ) {} - /** Called after Present to allow driver to take more time until vsync after they've successfully acquired the sync texture in Present.*/ - virtual void PostPresent() {} + /** Called after Present to allow driver to take more time until vsync after they've successfully acquired the sync texture in Present. + * Set Prop_SupportsAppThrottling_Bool to enable throttling / prediction UI in per-app video settings. */ + struct Throttling_t + { + uint32_t nFramesToThrottle; + uint32_t nAdditionalFramesToPredict; + }; + virtual void PostPresent( const Throttling_t *pThrottling ) {} /** Called to get additional frame timing stats from driver. Check m_nSize for versioning (new members will be added to end only). */ virtual void GetFrameTiming( DriverDirectMode_FrameTiming *pFrameTiming ) {} }; - static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_007"; + static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_008"; } diff --git a/lib/linux32/libopenvr_api.so b/lib/linux32/libopenvr_api.so index e8c61443..ae8fa25e 100755 Binary files a/lib/linux32/libopenvr_api.so and b/lib/linux32/libopenvr_api.so differ diff --git a/lib/linux64/libopenvr_api.so b/lib/linux64/libopenvr_api.so index 4bff11f1..dff2dfa0 100755 Binary files a/lib/linux64/libopenvr_api.so and b/lib/linux64/libopenvr_api.so differ diff --git a/lib/linuxarm64/libopenvr_api.so b/lib/linuxarm64/libopenvr_api.so index cf5d5348..b5b00cf6 100644 Binary files a/lib/linuxarm64/libopenvr_api.so and b/lib/linuxarm64/libopenvr_api.so differ diff --git a/lib/linuxarm64/libopenvr_api_unity.so b/lib/linuxarm64/libopenvr_api_unity.so index 875cdb35..1d08d17d 100644 Binary files a/lib/linuxarm64/libopenvr_api_unity.so and b/lib/linuxarm64/libopenvr_api_unity.so differ diff --git a/samples/bin/linux32/libopenvr_api.so b/samples/bin/linux32/libopenvr_api.so index d87f274c..01e1339b 100644 Binary files a/samples/bin/linux32/libopenvr_api.so and b/samples/bin/linux32/libopenvr_api.so differ diff --git a/samples/bin/linux64/libopenvr_api.so b/samples/bin/linux64/libopenvr_api.so index 906f06d5..75bc5f10 100644 Binary files a/samples/bin/linux64/libopenvr_api.so and b/samples/bin/linux64/libopenvr_api.so differ diff --git a/samples/bin/linuxarm64/libopenvr_api.so b/samples/bin/linuxarm64/libopenvr_api.so index d291c97b..55e15b6c 100644 Binary files a/samples/bin/linuxarm64/libopenvr_api.so and b/samples/bin/linuxarm64/libopenvr_api.so differ diff --git a/samples/bin/win32/openvr_api.dll b/samples/bin/win32/openvr_api.dll index 6e423e6c..2c61e24d 100644 Binary files a/samples/bin/win32/openvr_api.dll and b/samples/bin/win32/openvr_api.dll differ diff --git a/samples/bin/win64/openvr_api.dll b/samples/bin/win64/openvr_api.dll index a4ad7640..2df5818b 100644 Binary files a/samples/bin/win64/openvr_api.dll and b/samples/bin/win64/openvr_api.dll differ