Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/openvr.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Selan <jeremys@valvesoftware.com>2022-08-19 23:12:52 +0300
committerJeremy Selan <jeremys@valvesoftware.com>2022-08-19 23:12:52 +0300
commit08de3821dfd3aa46f778376680c68f33b9fdcb6c (patch)
tree21b774d1aebe53bd75ff68d1498e69545f9fc35e
parent0aad319a4f6bd9461262eb6cb5497476507a5b8a (diff)
# OpenVR SDK 1.23.7HEADv1.23.7master
IVROverlay: * Added the ability to specify the pitch angle (in radians) of the overlay before curvature is applied -- to form a fan or disk. Previously, this used the global pitch angle, which prevented these overlays from being pitched independently (i.e. the cone segment or disk were always and only vertically aligned. Note: The old behavior will continue to be applied when using the older interface to avoid breaking legacy apps. Overlay applications which update to this version and were using pitched curved overlays, are now required to call SetOverlayPreCurvePitch explicitly. * Added WaitFrameSync. 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. IVRRenderModels: * Added VRRenderModelTextureFormat_RGBA16_FLOAT for loading dds textures. * Added mipmap support to render model textures. IVRDriverDirectModeComponent: * PostPresent now takes throttling parameters. Drivers which implement this interface can set Prop_SupportsAppThrottling_Bool to enable throttling / prediction UI in per-app video settings. Driver Interface: * Added VRInitError_Driver_WirelessHmdNotConnected. A driver can return this error when it expects to connect to an HMD over a wireless link, but has not yet connected. Instead of “HMD Not Found”, the user will be shown a message that encourages them to turn on their wireless headset. App containers: * Added VRInitError_Init_NoServerForAppContainer. This error can be returned when VR_Init is called from a process that is running inside an application container on Windows when SteamVR is not running. In this context, SteamVR must be running before the application can start. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 7449484]
-rwxr-xr-xbin/linux32/libopenvr_api.sobin1327304 -> 1337614 bytes
-rwxr-xr-xbin/linux32/libopenvr_api.so.dbgbin5791326 -> 5938700 bytes
-rwxr-xr-xbin/linux64/libopenvr_api.sobin346120 -> 1328032 bytes
-rwxr-xr-xbin/linux64/libopenvr_api.so.dbgbin3336016 -> 7038714 bytes
-rw-r--r--bin/linuxarm64/libopenvr_api.sobin313232 -> 338760 bytes
-rw-r--r--bin/linuxarm64/libopenvr_api.so.dbgbin4437760 -> 5515600 bytes
-rw-r--r--bin/linuxarm64/libopenvr_api_unity.sobin479592 -> 400424 bytes
-rw-r--r--bin/linuxarm64/libopenvr_api_unity.so.dbgbin7704992 -> 6302224 bytes
-rw-r--r--bin/win32/openvr_api.dllbin620760 -> 627528 bytes
-rw-r--r--bin/win32/openvr_api.dll.sigbin1450 -> 1450 bytes
-rw-r--r--bin/win32/openvr_api.pdbbin11030528 -> 11046912 bytes
-rw-r--r--bin/win64/openvr_api.dllbin818904 -> 825672 bytes
-rw-r--r--bin/win64/openvr_api.dll.sigbin1450 -> 1450 bytes
-rw-r--r--bin/win64/openvr_api.pdbbin10891264 -> 10932224 bytes
-rw-r--r--headers/openvr.h85
-rw-r--r--headers/openvr_api.cs93
-rw-r--r--headers/openvr_api.json90
-rw-r--r--headers/openvr_capi.h60
-rw-r--r--headers/openvr_driver.h75
-rwxr-xr-xlib/linux32/libopenvr_api.sobin5790732 -> 5877704 bytes
-rwxr-xr-xlib/linux64/libopenvr_api.sobin3335136 -> 6963816 bytes
-rw-r--r--lib/linuxarm64/libopenvr_api.sobin4437760 -> 5445264 bytes
-rw-r--r--lib/linuxarm64/libopenvr_api_unity.sobin7704992 -> 6302224 bytes
-rw-r--r--samples/bin/linux32/libopenvr_api.sobin1327304 -> 1337614 bytes
-rw-r--r--samples/bin/linux64/libopenvr_api.sobin346120 -> 1328032 bytes
-rw-r--r--samples/bin/linuxarm64/libopenvr_api.sobin313232 -> 338760 bytes
-rw-r--r--samples/bin/win32/openvr_api.dllbin620760 -> 627528 bytes
-rw-r--r--samples/bin/win64/openvr_api.dllbin818904 -> 825672 bytes
28 files changed, 362 insertions, 41 deletions
diff --git a/bin/linux32/libopenvr_api.so b/bin/linux32/libopenvr_api.so
index d87f274..01e1339 100755
--- a/bin/linux32/libopenvr_api.so
+++ b/bin/linux32/libopenvr_api.so
Binary files differ
diff --git a/bin/linux32/libopenvr_api.so.dbg b/bin/linux32/libopenvr_api.so.dbg
index a8d7547..f7a7aac 100755
--- a/bin/linux32/libopenvr_api.so.dbg
+++ b/bin/linux32/libopenvr_api.so.dbg
Binary files differ
diff --git a/bin/linux64/libopenvr_api.so b/bin/linux64/libopenvr_api.so
index 906f06d..75bc5f1 100755
--- a/bin/linux64/libopenvr_api.so
+++ b/bin/linux64/libopenvr_api.so
Binary files differ
diff --git a/bin/linux64/libopenvr_api.so.dbg b/bin/linux64/libopenvr_api.so.dbg
index 753f794..f6ccc7f 100755
--- a/bin/linux64/libopenvr_api.so.dbg
+++ b/bin/linux64/libopenvr_api.so.dbg
Binary files differ
diff --git a/bin/linuxarm64/libopenvr_api.so b/bin/linuxarm64/libopenvr_api.so
index d291c97..55e15b6 100644
--- a/bin/linuxarm64/libopenvr_api.so
+++ b/bin/linuxarm64/libopenvr_api.so
Binary files differ
diff --git a/bin/linuxarm64/libopenvr_api.so.dbg b/bin/linuxarm64/libopenvr_api.so.dbg
index cf5d534..f02b6f5 100644
--- a/bin/linuxarm64/libopenvr_api.so.dbg
+++ b/bin/linuxarm64/libopenvr_api.so.dbg
Binary files differ
diff --git a/bin/linuxarm64/libopenvr_api_unity.so b/bin/linuxarm64/libopenvr_api_unity.so
index 058260a..66ce7b3 100644
--- a/bin/linuxarm64/libopenvr_api_unity.so
+++ b/bin/linuxarm64/libopenvr_api_unity.so
Binary files differ
diff --git a/bin/linuxarm64/libopenvr_api_unity.so.dbg b/bin/linuxarm64/libopenvr_api_unity.so.dbg
index 875cdb3..1d08d17 100644
--- a/bin/linuxarm64/libopenvr_api_unity.so.dbg
+++ b/bin/linuxarm64/libopenvr_api_unity.so.dbg
Binary files differ
diff --git a/bin/win32/openvr_api.dll b/bin/win32/openvr_api.dll
index 6e423e6..2c61e24 100644
--- a/bin/win32/openvr_api.dll
+++ b/bin/win32/openvr_api.dll
Binary files differ
diff --git a/bin/win32/openvr_api.dll.sig b/bin/win32/openvr_api.dll.sig
index 3e308fc..a7b3cb3 100644
--- a/bin/win32/openvr_api.dll.sig
+++ b/bin/win32/openvr_api.dll.sig
Binary files differ
diff --git a/bin/win32/openvr_api.pdb b/bin/win32/openvr_api.pdb
index ff635ec..a1fda1f 100644
--- a/bin/win32/openvr_api.pdb
+++ b/bin/win32/openvr_api.pdb
Binary files differ
diff --git a/bin/win64/openvr_api.dll b/bin/win64/openvr_api.dll
index a4ad764..2df5818 100644
--- a/bin/win64/openvr_api.dll
+++ b/bin/win64/openvr_api.dll
Binary files differ
diff --git a/bin/win64/openvr_api.dll.sig b/bin/win64/openvr_api.dll.sig
index eb635ee..58281ae 100644
--- a/bin/win64/openvr_api.dll.sig
+++ b/bin/win64/openvr_api.dll.sig
Binary files differ
diff --git a/bin/win64/openvr_api.pdb b/bin/win64/openvr_api.pdb
index 4a4b91d..aae8511 100644
--- a/bin/win64/openvr_api.pdb
+++ b/bin/win64/openvr_api.pdb
Binary files differ
diff --git a/headers/openvr.h b/headers/openvr.h
index ff6d1fe..df73184 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 4732b62..1d73c1c 100644
--- a/headers/openvr_api.cs
+++ b/headers/openvr_api.cs
@@ -1046,6 +1046,16 @@ public struct IVROverlay
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)]
internal _SetOverlayTextureColorSpace SetOverlayTextureColorSpace;
@@ -1146,6 +1156,11 @@ public struct IVROverlay
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)]
internal _PollNextOverlayEvent PollNextOverlayEvent;
@@ -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 class CVROverlay
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 class CVROverlay
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 @@ public class CVRBlockQueue
{
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 enum EBlockQueueReadType
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 enum EBlockQueueReadType
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 enum EBlockQueueReadType
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 class OpenVR
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 class OpenVR
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 class OpenVR
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 class OpenVR
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 class OpenVR
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 463243b..88af945 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"}
,{
@@ -1465,6 +1503,10 @@
,{
"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"}
,{
"constname": "k_pch_SteamVR_ForceFadeOnBadTracking_Bool","consttype": "const char *const", "constval": "forceFadeOnBadTracking"}
@@ -1551,6 +1593,8 @@
,{
"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"}
,{
"constname": "k_pch_DirectMode_Section","consttype": "const char *const", "constval": "direct_mode"}
@@ -1767,6 +1811,8 @@
,{
"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"}
,{
"constname": "k_pch_Driver_Enable_Bool","consttype": "const char *const", "constval": "enable"}
@@ -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"},
@@ -4081,6 +4128,24 @@
}
,{
"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",
"returntype": "vr::EVROverlayError",
"params": [
@@ -4272,6 +4337,14 @@
}
,{
"classname": "vr::IVROverlay",
+ "methodname": "WaitFrameSync",
+ "returntype": "vr::EVROverlayError",
+ "params": [
+{ "paramname": "nTimeoutMs" ,"paramtype": "uint32_t"}
+ ]
+}
+,{
+ "classname": "vr::IVROverlay",
"methodname": "PollNextOverlayEvent",
"returntype": "bool",
"params": [
@@ -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 13c71fc..da13418 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 34b7053..4059d79 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 e8c6144..ae8fa25 100755
--- a/lib/linux32/libopenvr_api.so
+++ b/lib/linux32/libopenvr_api.so
Binary files differ
diff --git a/lib/linux64/libopenvr_api.so b/lib/linux64/libopenvr_api.so
index 4bff11f..dff2dfa 100755
--- a/lib/linux64/libopenvr_api.so
+++ b/lib/linux64/libopenvr_api.so
Binary files differ
diff --git a/lib/linuxarm64/libopenvr_api.so b/lib/linuxarm64/libopenvr_api.so
index cf5d534..b5b00cf 100644
--- a/lib/linuxarm64/libopenvr_api.so
+++ b/lib/linuxarm64/libopenvr_api.so
Binary files differ
diff --git a/lib/linuxarm64/libopenvr_api_unity.so b/lib/linuxarm64/libopenvr_api_unity.so
index 875cdb3..1d08d17 100644
--- a/lib/linuxarm64/libopenvr_api_unity.so
+++ b/lib/linuxarm64/libopenvr_api_unity.so
Binary files differ
diff --git a/samples/bin/linux32/libopenvr_api.so b/samples/bin/linux32/libopenvr_api.so
index d87f274..01e1339 100644
--- a/samples/bin/linux32/libopenvr_api.so
+++ b/samples/bin/linux32/libopenvr_api.so
Binary files differ
diff --git a/samples/bin/linux64/libopenvr_api.so b/samples/bin/linux64/libopenvr_api.so
index 906f06d..75bc5f1 100644
--- a/samples/bin/linux64/libopenvr_api.so
+++ b/samples/bin/linux64/libopenvr_api.so
Binary files differ
diff --git a/samples/bin/linuxarm64/libopenvr_api.so b/samples/bin/linuxarm64/libopenvr_api.so
index d291c97..55e15b6 100644
--- a/samples/bin/linuxarm64/libopenvr_api.so
+++ b/samples/bin/linuxarm64/libopenvr_api.so
Binary files differ
diff --git a/samples/bin/win32/openvr_api.dll b/samples/bin/win32/openvr_api.dll
index 6e423e6..2c61e24 100644
--- a/samples/bin/win32/openvr_api.dll
+++ b/samples/bin/win32/openvr_api.dll
Binary files differ
diff --git a/samples/bin/win64/openvr_api.dll b/samples/bin/win64/openvr_api.dll
index a4ad764..2df5818 100644
--- a/samples/bin/win64/openvr_api.dll
+++ b/samples/bin/win64/openvr_api.dll
Binary files differ