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:
-rwxr-xr-xbin/linux32/libopenvr_api.sobin304708 -> 304695 bytes
-rwxr-xr-xbin/linux32/libopenvr_api.so.dbgbin2143394 -> 2128520 bytes
-rwxr-xr-xbin/linux64/libopenvr_api.sobin303268 -> 303256 bytes
-rwxr-xr-xbin/linux64/libopenvr_api.so.dbgbin2681390 -> 2665453 bytes
-rwxr-xr-xbin/osx32/libopenvr_api.dylibbin155684 -> 155684 bytes
-rw-r--r--bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylibbin1185547 -> 1185501 bytes
-rw-r--r--bin/win32/openvr_api.dllbin490784 -> 491296 bytes
-rw-r--r--bin/win32/openvr_api.pdbbin9900032 -> 9900032 bytes
-rw-r--r--bin/win64/openvr_api.dllbin597792 -> 597792 bytes
-rw-r--r--bin/win64/openvr_api.pdbbin9736192 -> 9736192 bytes
-rw-r--r--headers/openvr.h114
-rw-r--r--headers/openvr_api.cs681
-rw-r--r--headers/openvr_api.json99
-rw-r--r--headers/openvr_capi.h48
-rw-r--r--headers/openvr_driver.h26
-rwxr-xr-xlib/linux32/libopenvr_api.sobin2128796 -> 2128520 bytes
-rwxr-xr-xlib/linux64/libopenvr_api.sobin2665637 -> 2665453 bytes
-rw-r--r--samples/bin/linux64/libopenvr_api.sobin303268 -> 303256 bytes
-rw-r--r--samples/bin/osx32/libopenvr_api.dylibbin155684 -> 155684 bytes
-rw-r--r--samples/bin/win32/openvr_api.dllbin490784 -> 491296 bytes
-rw-r--r--samples/bin/win64/openvr_api.dllbin597792 -> 597792 bytes
-rw-r--r--src/vrcommon/hmderrors_public.cpp4
22 files changed, 924 insertions, 48 deletions
diff --git a/bin/linux32/libopenvr_api.so b/bin/linux32/libopenvr_api.so
index f0c2bef..258c8f5 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 dc673e5..31d2871 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 b5db2f0..8d894cf 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 e906635..10fd1dc 100755
--- a/bin/linux64/libopenvr_api.so.dbg
+++ b/bin/linux64/libopenvr_api.so.dbg
Binary files differ
diff --git a/bin/osx32/libopenvr_api.dylib b/bin/osx32/libopenvr_api.dylib
index 8a2df47..aa0ac95 100755
--- a/bin/osx32/libopenvr_api.dylib
+++ b/bin/osx32/libopenvr_api.dylib
Binary files differ
diff --git a/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib b/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib
index 2351ff4..4d261f6 100644
--- a/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib
+++ b/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib
Binary files differ
diff --git a/bin/win32/openvr_api.dll b/bin/win32/openvr_api.dll
index 4f5bdf1..9d8ce6e 100644
--- a/bin/win32/openvr_api.dll
+++ b/bin/win32/openvr_api.dll
Binary files differ
diff --git a/bin/win32/openvr_api.pdb b/bin/win32/openvr_api.pdb
index f3429e0..9070b31 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 3b05986..86f697b 100644
--- a/bin/win64/openvr_api.dll
+++ b/bin/win64/openvr_api.dll
Binary files differ
diff --git a/bin/win64/openvr_api.pdb b/bin/win64/openvr_api.pdb
index 3c53691..b7ec1bc 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 3585e25..9f4ac63 100644
--- a/headers/openvr.h
+++ b/headers/openvr.h
@@ -15,8 +15,8 @@
namespace vr
{
static const uint32_t k_nSteamVRVersionMajor = 1;
- static const uint32_t k_nSteamVRVersionMinor = 4;
- static const uint32_t k_nSteamVRVersionBuild = 18;
+ static const uint32_t k_nSteamVRVersionMinor = 5;
+ static const uint32_t k_nSteamVRVersionBuild = 17;
} // namespace vr
// vrtypes.h
@@ -354,6 +354,7 @@ enum ETrackedDeviceProperty
Prop_BootloaderVersion_Uint64 = 1044,
Prop_AdditionalSystemReportData_String = 1045, // additional string to include in system reports about a tracked device
Prop_CompositeFirmwareVersion_String = 1046, // additional FW components from a device that gets propagated into reports
+ Prop_Firmware_RemindUpdate_Bool = 1047,
// Properties that are unique to TrackedDeviceClass_HMD
Prop_ReportsTimeSinceVSync_Bool = 2000,
@@ -408,7 +409,7 @@ enum ETrackedDeviceProperty
Prop_NamedIconPathControllerLeftDeviceOff_String = 2051, // placeholder icon for "left" controller if not yet detected/loaded
Prop_NamedIconPathControllerRightDeviceOff_String = 2052, // placeholder icon for "right" controller if not yet detected/loaded
Prop_NamedIconPathTrackingReferenceDeviceOff_String = 2053, // placeholder icon for sensor/base if not yet detected/loaded
- Prop_DoNotApplyPrediction_Bool = 2054,
+ Prop_DoNotApplyPrediction_Bool = 2054, // currently no effect. was used to disable HMD pose prediction on MR, which is now done by MR driver setting velocity=0
Prop_CameraToHeadTransforms_Matrix34_Array = 2055,
Prop_DistortionMeshResolution_Int32 = 2056, // custom resolution of compositor calls to IVRSystem::ComputeDistortion
Prop_DriverIsDrawingControllers_Bool = 2057,
@@ -429,6 +430,9 @@ enum ETrackedDeviceProperty
Prop_CameraDistortionFunction_Int32_Array = 2072, // Prop_NumCameras_Int32-sized array of vr::EVRDistortionFunctionType values (max size is vr::k_unMaxCameras)
Prop_CameraDistortionCoefficients_Float_Array = 2073, // Prop_NumCameras_Int32-sized array of double[vr::k_unMaxDistortionFunctionParameters] (max size is vr::k_unMaxCameras)
Prop_ExpectedControllerType_String = 2074,
+ Prop_HmdTrackingStyle_Int32 = 2075, // one of EHmdTrackingStyle
+ Prop_DriverProvidedChaperoneVisibility_Bool = 2076,
+
Prop_DisplayAvailableFrameRates_Float_Array = 2080, // populated by compositor from actual EDID list when available from GPU driver
Prop_DisplaySupportsMultipleFramerates_Bool = 2081, // if this is true but Prop_DisplayAvailableFrameRates_Float_Array is empty, explain to user
@@ -527,6 +531,15 @@ enum ETrackedPropertyError
TrackedProp_IPCReadFailure = 13,
};
+/** Used to drive certain text in the UI when talking about the tracking system for the HMD */
+enum EHmdTrackingStyle
+{
+ HmdTrackingStyle_Unknown = 0,
+
+ HmdTrackingStyle_Lighthouse = 1, // base stations and lasers
+ HmdTrackingStyle_OutsideInCameras = 2, // Cameras and LED, Rift 1 style
+ HmdTrackingStyle_InsideOutCameras = 3, // Cameras on HMD looking at the world
+};
typedef uint64_t VRActionHandle_t;
typedef uint64_t VRActionSetHandle_t;
@@ -1110,6 +1123,7 @@ enum EShowUIType
// ShowUI_QuickStart = 2, // Deprecated
ShowUI_Pairing = 3,
ShowUI_Settings = 4,
+ ShowUI_DebugCommands = 5,
};
struct VREvent_ShowUI_t
@@ -1625,6 +1639,8 @@ enum EVRInitError
VRInitError_Compositor_CreateTextIndexBuffer = 482,
VRInitError_Compositor_CreateMirrorTextures = 483,
VRInitError_Compositor_CreateLastFrameRenderTexture = 484,
+ VRInitError_Compositor_CreateMirrorOverlay = 485,
+ VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer = 486,
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
VRInitError_VendorSpecific_WindowsNotInDevMode = 1001,
@@ -1642,6 +1658,7 @@ enum EVRInitError
VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111,
VRInitError_VendorSpecific_HmdFound_UserDataError = 1112,
VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
+ VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114,
VRInitError_Steam_SteamInstallationNotFound = 2000,
@@ -2102,15 +2119,6 @@ public:
virtual bool ShouldApplicationReduceRenderingWork() = 0;
// ------------------------------------
- // Debug Methods
- // ------------------------------------
-
- /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k,
- * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated.
- * The size of the response including its terminating null is returned. */
- virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, VR_OUT_STRING() char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0;
-
- // ------------------------------------
// Firmware methods
// ------------------------------------
@@ -2136,7 +2144,7 @@ public:
};
-static const char * const IVRSystem_Version = "IVRSystem_019";
+static const char * const IVRSystem_Version = "IVRSystem_020";
}
@@ -2678,6 +2686,7 @@ namespace vr
//-----------------------------------------------------------------------------
// driver keys - These could be checked in any driver_<name> section
static const char * const k_pch_Driver_Enable_Bool = "enable";
+ static const char * const k_pch_Driver_LoadPriority_Int32 = "loadPriority";
//-----------------------------------------------------------------------------
// web interface keys
@@ -3141,13 +3150,14 @@ public:
/** Returns true if the current process has the scene focus */
virtual bool CanRenderScene() = 0;
- /** Creates a window on the primary monitor to display what is being shown in the headset. */
+ /** Opens the headset view (as either a window or docked widget depending on user's preferences) that displays what the user
+ * sees in the headset. */
virtual void ShowMirrorWindow() = 0;
- /** Closes the mirror window. */
+ /** Closes the headset view, either as a window or docked widget. */
virtual void HideMirrorWindow() = 0;
- /** Returns true if the mirror window is shown. */
+ /** Returns true if the headset view (either as a window or docked widget) is shown. */
virtual bool IsMirrorWindowVisible() = 0;
/** Writes back buffer and stereo left/right pair from the application to a 'screenshots' folder in the SteamVR runtime root. */
@@ -4271,6 +4281,8 @@ public:
virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
virtual DriverHandle_t GetDriverHandle( const char *pchDriverName ) = 0;
+
+ virtual bool IsEnabled( vr::DriverId_t nDriver ) const = 0;
};
static const char * const IVRDriverManager_Version = "IVRDriverManager_001";
@@ -4409,6 +4421,14 @@ namespace vr
char rchRenderModelComponentName[128];
};
+ struct InputBindingInfo_t
+ {
+ char rchDevicePathName[128];
+ char rchInputPathName[128];
+ char rchModeName[128];
+ char rchSlotName[128];
+ };
+
struct VRActiveActionSet_t
{
/** This is the handle of the action set to activate for this frame. */
@@ -4543,6 +4563,9 @@ namespace vr
/** Retrieves useful information for the origin of this action */
virtual EVRInputError GetOriginTrackedDeviceInfo( VRInputValueHandle_t origin, InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize ) = 0;
+ /** Retrieves useful information about the bindings for an action */
+ virtual EVRInputError GetActionBindingInfo( VRActionHandle_t action, InputBindingInfo_t *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, uint32_t *punReturnedBindingInfoCount ) = 0;
+
/** Shows the current binding for the action in-headset */
virtual EVRInputError ShowActionOrigins( VRActionSetHandle_t actionSetHandle, VRActionHandle_t ulActionHandle ) = 0;
@@ -4553,7 +4576,7 @@ namespace vr
virtual bool IsUsingLegacyInput() = 0;
};
- static const char * const IVRInput_Version = "IVRInput_006";
+ static const char * const IVRInput_Version = "IVRInput_007";
} // namespace vr
@@ -4661,6 +4684,49 @@ namespace vr
static const char * const IVRSpatialAnchors_Version = "IVRSpatialAnchors_001";
} // namespace vr
+
+// ivrdebug.h
+namespace vr
+{
+ enum EVRDebugError
+ {
+ VRDebugError_Success = 0,
+ VRDebugError_BadParameter
+ };
+
+ /** Handle for vr profiler events */
+ typedef uint64_t VrProfilerEventHandle_t;
+
+ class IVRDebug
+ {
+ public:
+
+ /** Create a vr profiler discrete event (point)
+ * The event will be associated with the message provided in pchMessage, and the current
+ * time will be used as the event timestamp. */
+ virtual EVRDebugError EmitVrProfilerEvent( const char *pchMessage ) = 0;
+
+ /** Create an vr profiler duration event (line)
+ * The current time will be used as the timestamp for the start of the line.
+ * On success, pHandleOut will contain a handle valid for terminating this event. */
+ virtual EVRDebugError BeginVrProfilerEvent( VrProfilerEventHandle_t *pHandleOut ) = 0;
+
+ /** Terminate a vr profiler event
+ * The event associated with hHandle will be considered completed when this method is called.
+ * The current time will be used assocaited to the termination time of the event, and
+ * pchMessage will be used as the event title. */
+ virtual EVRDebugError FinishVrProfilerEvent( VrProfilerEventHandle_t hHandle, const char *pchMessage ) = 0;
+
+ /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k,
+ * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated.
+ * The size of the response including its terminating null is returned. */
+ virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, VR_OUT_STRING() char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0;
+
+ };
+
+ static const char * const IVRDebug_Version = "IVRDebug_001";
+
+} // namespace vr
// End
#endif // _OPENVR_API
@@ -4929,6 +4995,17 @@ namespace vr
return m_pVRSpatialAnchors;
}
+ IVRDebug *VRDebug()
+ {
+ CheckClear();
+ if ( !m_pVRDebug )
+ {
+ EVRInitError eError;
+ m_pVRDebug = (IVRDebug *)VR_GetGenericInterface( IVRDebug_Version, &eError );
+ }
+ return m_pVRDebug;
+ }
+
IVRNotifications *VRNotifications()
{
CheckClear();
@@ -4957,6 +5034,7 @@ namespace vr
IVRInput *m_pVRInput;
IVRIOBuffer *m_pVRIOBuffer;
IVRSpatialAnchors *m_pVRSpatialAnchors;
+ IVRDebug *m_pVRDebug;
IVRNotifications *m_pVRNotifications;
};
@@ -4983,6 +5061,7 @@ namespace vr
inline IVRIOBuffer *VR_CALLTYPE VRIOBuffer() { return OpenVRInternal_ModuleContext().VRIOBuffer(); }
inline IVRSpatialAnchors *VR_CALLTYPE VRSpatialAnchors() { return OpenVRInternal_ModuleContext().VRSpatialAnchors(); }
inline IVRNotifications *VR_CALLTYPE VRNotifications() { return OpenVRInternal_ModuleContext().VRNotifications(); }
+ inline IVRDebug *VR_CALLTYPE VRDebug() { return OpenVRInternal_ModuleContext().VRDebug(); }
inline void COpenVRContext::Clear()
{
@@ -5003,6 +5082,7 @@ namespace vr
m_pVRIOBuffer = nullptr;
m_pVRSpatialAnchors = nullptr;
m_pVRNotifications = nullptr;
+ m_pVRDebug = nullptr;
}
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo );
diff --git a/headers/openvr_api.cs b/headers/openvr_api.cs
index d593777..cce689c 100644
--- a/headers/openvr_api.cs
+++ b/headers/openvr_api.cs
@@ -231,11 +231,6 @@ public struct IVRSystem
internal _ShouldApplicationReduceRenderingWork ShouldApplicationReduceRenderingWork;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, System.Text.StringBuilder pchResponseBuffer, uint unResponseBufferSize);
- [MarshalAs(UnmanagedType.FunctionPtr)]
- internal _DriverDebugRequest DriverDebugRequest;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRFirmwareError _PerformFirmwareUpdate(uint unDeviceIndex);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _PerformFirmwareUpdate PerformFirmwareUpdate;
@@ -1550,6 +1545,11 @@ public struct IVRDriverManager
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetDriverHandle GetDriverHandle;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate bool _IsEnabled(uint nDriver);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _IsEnabled IsEnabled;
+
}
[StructLayout(LayoutKind.Sequential)]
@@ -1671,6 +1671,11 @@ public struct IVRInput
internal _GetOriginTrackedDeviceInfo GetOriginTrackedDeviceInfo;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRInputError _GetActionBindingInfo(ulong action, ref InputBindingInfo_t pOriginInfo, uint unBindingInfoSize, uint unBindingInfoCount, ref uint punReturnedBindingInfoCount);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetActionBindingInfo GetActionBindingInfo;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRInputError _ShowActionOrigins(ulong actionSetHandle, ulong ulActionHandle);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ShowActionOrigins ShowActionOrigins;
@@ -1747,6 +1752,31 @@ public struct IVRSpatialAnchors
}
+[StructLayout(LayoutKind.Sequential)]
+public struct IVRDebug
+{
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRDebugError _EmitVrProfilerEvent(string pchMessage);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _EmitVrProfilerEvent EmitVrProfilerEvent;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRDebugError _BeginVrProfilerEvent(ref ulong pHandleOut);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _BeginVrProfilerEvent BeginVrProfilerEvent;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRDebugError _FinishVrProfilerEvent(ulong hHandle, string pchMessage);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _FinishVrProfilerEvent FinishVrProfilerEvent;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, System.Text.StringBuilder pchResponseBuffer, uint unResponseBufferSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _DriverDebugRequest DriverDebugRequest;
+
+}
+
public class CVRSystem
{
@@ -2050,11 +2080,6 @@ public class CVRSystem
bool result = FnTable.ShouldApplicationReduceRenderingWork();
return result;
}
- public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,System.Text.StringBuilder pchResponseBuffer,uint unResponseBufferSize)
- {
- uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequest,pchResponseBuffer,unResponseBufferSize);
- return result;
- }
public EVRFirmwareError PerformFirmwareUpdate(uint unDeviceIndex)
{
EVRFirmwareError result = FnTable.PerformFirmwareUpdate(unDeviceIndex);
@@ -3493,6 +3518,11 @@ public class CVRDriverManager
ulong result = FnTable.GetDriverHandle(pchDriverName);
return result;
}
+ public bool IsEnabled(uint nDriver)
+ {
+ bool result = FnTable.IsEnabled(nDriver);
+ return result;
+ }
}
@@ -3623,6 +3653,12 @@ public class CVRInput
EVRInputError result = FnTable.GetOriginTrackedDeviceInfo(origin,ref pOriginInfo,unOriginInfoSize);
return result;
}
+ public EVRInputError GetActionBindingInfo(ulong action,ref InputBindingInfo_t pOriginInfo,uint unBindingInfoSize,uint unBindingInfoCount,ref uint punReturnedBindingInfoCount)
+ {
+ punReturnedBindingInfoCount = 0;
+ EVRInputError result = FnTable.GetActionBindingInfo(action,ref pOriginInfo,unBindingInfoSize,unBindingInfoCount,ref punReturnedBindingInfoCount);
+ return result;
+ }
public EVRInputError ShowActionOrigins(ulong actionSetHandle,ulong ulActionHandle)
{
EVRInputError result = FnTable.ShowActionOrigins(actionSetHandle,ulActionHandle);
@@ -3716,6 +3752,37 @@ public class CVRSpatialAnchors
}
+public class CVRDebug
+{
+ IVRDebug FnTable;
+ internal CVRDebug(IntPtr pInterface)
+ {
+ FnTable = (IVRDebug)Marshal.PtrToStructure(pInterface, typeof(IVRDebug));
+ }
+ public EVRDebugError EmitVrProfilerEvent(string pchMessage)
+ {
+ EVRDebugError result = FnTable.EmitVrProfilerEvent(pchMessage);
+ return result;
+ }
+ public EVRDebugError BeginVrProfilerEvent(ref ulong pHandleOut)
+ {
+ pHandleOut = 0;
+ EVRDebugError result = FnTable.BeginVrProfilerEvent(ref pHandleOut);
+ return result;
+ }
+ public EVRDebugError FinishVrProfilerEvent(ulong hHandle,string pchMessage)
+ {
+ EVRDebugError result = FnTable.FinishVrProfilerEvent(hHandle,pchMessage);
+ return result;
+ }
+ public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,System.Text.StringBuilder pchResponseBuffer,uint unResponseBufferSize)
+ {
+ uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequest,pchResponseBuffer,unResponseBufferSize);
+ return result;
+ }
+}
+
+
public class OpenVRInterop
{
[DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal", CallingConvention = CallingConvention.Cdecl)]
@@ -3854,6 +3921,7 @@ public enum ETrackedDeviceProperty
Prop_BootloaderVersion_Uint64 = 1044,
Prop_AdditionalSystemReportData_String = 1045,
Prop_CompositeFirmwareVersion_String = 1046,
+ Prop_Firmware_RemindUpdate_Bool = 1047,
Prop_ReportsTimeSinceVSync_Bool = 2000,
Prop_SecondsFromVsyncToPhotons_Float = 2001,
Prop_DisplayFrequency_Float = 2002,
@@ -3926,6 +3994,8 @@ public enum ETrackedDeviceProperty
Prop_CameraDistortionFunction_Int32_Array = 2072,
Prop_CameraDistortionCoefficients_Float_Array = 2073,
Prop_ExpectedControllerType_String = 2074,
+ Prop_HmdTrackingStyle_Int32 = 2075,
+ Prop_DriverProvidedChaperoneVisibility_Bool = 2076,
Prop_DisplayAvailableFrameRates_Float_Array = 2080,
Prop_DisplaySupportsMultipleFramerates_Bool = 2081,
Prop_DashboardLayoutPathName_String = 2090,
@@ -3998,6 +4068,13 @@ public enum ETrackedPropertyError
TrackedProp_CannotWriteToWildcards = 12,
TrackedProp_IPCReadFailure = 13,
}
+public enum EHmdTrackingStyle
+{
+ Unknown = 0,
+ Lighthouse = 1,
+ OutsideInCameras = 2,
+ InsideOutCameras = 3,
+}
public enum EVRSubmitFlags
{
Submit_Default = 0,
@@ -4238,6 +4315,7 @@ public enum EShowUIType
ShowUI_ManageTrackers = 1,
ShowUI_Pairing = 3,
ShowUI_Settings = 4,
+ ShowUI_DebugCommands = 5,
}
public enum EHDCPError
{
@@ -4536,6 +4614,8 @@ public enum EVRInitError
Compositor_CreateTextIndexBuffer = 482,
Compositor_CreateMirrorTextures = 483,
Compositor_CreateLastFrameRenderTexture = 484,
+ Compositor_CreateMirrorOverlay = 485,
+ Compositor_FailedToCreateVirtualDisplayBackbuffer = 486,
VendorSpecific_UnableToConnectToOculusRuntime = 1000,
VendorSpecific_WindowsNotInDevMode = 1001,
VendorSpecific_HmdFound_CantOpenDevice = 1101,
@@ -4551,6 +4631,7 @@ public enum EVRInitError
VendorSpecific_HmdFound_UserDataAddressRange = 1111,
VendorSpecific_HmdFound_UserDataError = 1112,
VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
+ VendorSpecific_OculusRuntimeBadInstall = 1114,
Steam_SteamInstallationNotFound = 2000,
LastError = 2001,
}
@@ -4909,6 +4990,11 @@ public enum EIOBufferMode
Write = 2,
Create = 512,
}
+public enum EVRDebugError
+{
+ Success = 0,
+ BadParameter = 1,
+}
[StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t
{
@@ -5791,6 +5877,557 @@ public enum EIOBufferMode
}
}
}
+[StructLayout(LayoutKind.Sequential)] public struct InputBindingInfo_t
+{
+ public byte rchDevicePathName0,rchDevicePathName1,rchDevicePathName2,rchDevicePathName3,rchDevicePathName4,rchDevicePathName5,rchDevicePathName6,rchDevicePathName7,rchDevicePathName8,rchDevicePathName9,rchDevicePathName10,rchDevicePathName11,rchDevicePathName12,rchDevicePathName13,rchDevicePathName14,rchDevicePathName15,rchDevicePathName16,rchDevicePathName17,rchDevicePathName18,rchDevicePathName19,rchDevicePathName20,rchDevicePathName21,rchDevicePathName22,rchDevicePathName23,rchDevicePathName24,rchDevicePathName25,rchDevicePathName26,rchDevicePathName27,rchDevicePathName28,rchDevicePathName29,rchDevicePathName30,rchDevicePathName31,rchDevicePathName32,rchDevicePathName33,rchDevicePathName34,rchDevicePathName35,rchDevicePathName36,rchDevicePathName37,rchDevicePathName38,rchDevicePathName39,rchDevicePathName40,rchDevicePathName41,rchDevicePathName42,rchDevicePathName43,rchDevicePathName44,rchDevicePathName45,rchDevicePathName46,rchDevicePathName47,rchDevicePathName48,rchDevicePathName49,rchDevicePathName50,rchDevicePathName51,rchDevicePathName52,rchDevicePathName53,rchDevicePathName54,rchDevicePathName55,rchDevicePathName56,rchDevicePathName57,rchDevicePathName58,rchDevicePathName59,rchDevicePathName60,rchDevicePathName61,rchDevicePathName62,rchDevicePathName63,rchDevicePathName64,rchDevicePathName65,rchDevicePathName66,rchDevicePathName67,rchDevicePathName68,rchDevicePathName69,rchDevicePathName70,rchDevicePathName71,rchDevicePathName72,rchDevicePathName73,rchDevicePathName74,rchDevicePathName75,rchDevicePathName76,rchDevicePathName77,rchDevicePathName78,rchDevicePathName79,rchDevicePathName80,rchDevicePathName81,rchDevicePathName82,rchDevicePathName83,rchDevicePathName84,rchDevicePathName85,rchDevicePathName86,rchDevicePathName87,rchDevicePathName88,rchDevicePathName89,rchDevicePathName90,rchDevicePathName91,rchDevicePathName92,rchDevicePathName93,rchDevicePathName94,rchDevicePathName95,rchDevicePathName96,rchDevicePathName97,rchDevicePathName98,rchDevicePathName99,rchDevicePathName100,rchDevicePathName101,rchDevicePathName102,rchDevicePathName103,rchDevicePathName104,rchDevicePathName105,rchDevicePathName106,rchDevicePathName107,rchDevicePathName108,rchDevicePathName109,rchDevicePathName110,rchDevicePathName111,rchDevicePathName112,rchDevicePathName113,rchDevicePathName114,rchDevicePathName115,rchDevicePathName116,rchDevicePathName117,rchDevicePathName118,rchDevicePathName119,rchDevicePathName120,rchDevicePathName121,rchDevicePathName122,rchDevicePathName123,rchDevicePathName124,rchDevicePathName125,rchDevicePathName126,rchDevicePathName127;
+ public string rchDevicePathName
+ {
+ get
+ {
+ return new string(new char[] {
+ (char)rchDevicePathName0,
+ (char)rchDevicePathName1,
+ (char)rchDevicePathName2,
+ (char)rchDevicePathName3,
+ (char)rchDevicePathName4,
+ (char)rchDevicePathName5,
+ (char)rchDevicePathName6,
+ (char)rchDevicePathName7,
+ (char)rchDevicePathName8,
+ (char)rchDevicePathName9,
+ (char)rchDevicePathName10,
+ (char)rchDevicePathName11,
+ (char)rchDevicePathName12,
+ (char)rchDevicePathName13,
+ (char)rchDevicePathName14,
+ (char)rchDevicePathName15,
+ (char)rchDevicePathName16,
+ (char)rchDevicePathName17,
+ (char)rchDevicePathName18,
+ (char)rchDevicePathName19,
+ (char)rchDevicePathName20,
+ (char)rchDevicePathName21,
+ (char)rchDevicePathName22,
+ (char)rchDevicePathName23,
+ (char)rchDevicePathName24,
+ (char)rchDevicePathName25,
+ (char)rchDevicePathName26,
+ (char)rchDevicePathName27,
+ (char)rchDevicePathName28,
+ (char)rchDevicePathName29,
+ (char)rchDevicePathName30,
+ (char)rchDevicePathName31,
+ (char)rchDevicePathName32,
+ (char)rchDevicePathName33,
+ (char)rchDevicePathName34,
+ (char)rchDevicePathName35,
+ (char)rchDevicePathName36,
+ (char)rchDevicePathName37,
+ (char)rchDevicePathName38,
+ (char)rchDevicePathName39,
+ (char)rchDevicePathName40,
+ (char)rchDevicePathName41,
+ (char)rchDevicePathName42,
+ (char)rchDevicePathName43,
+ (char)rchDevicePathName44,
+ (char)rchDevicePathName45,
+ (char)rchDevicePathName46,
+ (char)rchDevicePathName47,
+ (char)rchDevicePathName48,
+ (char)rchDevicePathName49,
+ (char)rchDevicePathName50,
+ (char)rchDevicePathName51,
+ (char)rchDevicePathName52,
+ (char)rchDevicePathName53,
+ (char)rchDevicePathName54,
+ (char)rchDevicePathName55,
+ (char)rchDevicePathName56,
+ (char)rchDevicePathName57,
+ (char)rchDevicePathName58,
+ (char)rchDevicePathName59,
+ (char)rchDevicePathName60,
+ (char)rchDevicePathName61,
+ (char)rchDevicePathName62,
+ (char)rchDevicePathName63,
+ (char)rchDevicePathName64,
+ (char)rchDevicePathName65,
+ (char)rchDevicePathName66,
+ (char)rchDevicePathName67,
+ (char)rchDevicePathName68,
+ (char)rchDevicePathName69,
+ (char)rchDevicePathName70,
+ (char)rchDevicePathName71,
+ (char)rchDevicePathName72,
+ (char)rchDevicePathName73,
+ (char)rchDevicePathName74,
+ (char)rchDevicePathName75,
+ (char)rchDevicePathName76,
+ (char)rchDevicePathName77,
+ (char)rchDevicePathName78,
+ (char)rchDevicePathName79,
+ (char)rchDevicePathName80,
+ (char)rchDevicePathName81,
+ (char)rchDevicePathName82,
+ (char)rchDevicePathName83,
+ (char)rchDevicePathName84,
+ (char)rchDevicePathName85,
+ (char)rchDevicePathName86,
+ (char)rchDevicePathName87,
+ (char)rchDevicePathName88,
+ (char)rchDevicePathName89,
+ (char)rchDevicePathName90,
+ (char)rchDevicePathName91,
+ (char)rchDevicePathName92,
+ (char)rchDevicePathName93,
+ (char)rchDevicePathName94,
+ (char)rchDevicePathName95,
+ (char)rchDevicePathName96,
+ (char)rchDevicePathName97,
+ (char)rchDevicePathName98,
+ (char)rchDevicePathName99,
+ (char)rchDevicePathName100,
+ (char)rchDevicePathName101,
+ (char)rchDevicePathName102,
+ (char)rchDevicePathName103,
+ (char)rchDevicePathName104,
+ (char)rchDevicePathName105,
+ (char)rchDevicePathName106,
+ (char)rchDevicePathName107,
+ (char)rchDevicePathName108,
+ (char)rchDevicePathName109,
+ (char)rchDevicePathName110,
+ (char)rchDevicePathName111,
+ (char)rchDevicePathName112,
+ (char)rchDevicePathName113,
+ (char)rchDevicePathName114,
+ (char)rchDevicePathName115,
+ (char)rchDevicePathName116,
+ (char)rchDevicePathName117,
+ (char)rchDevicePathName118,
+ (char)rchDevicePathName119,
+ (char)rchDevicePathName120,
+ (char)rchDevicePathName121,
+ (char)rchDevicePathName122,
+ (char)rchDevicePathName123,
+ (char)rchDevicePathName124,
+ (char)rchDevicePathName125,
+ (char)rchDevicePathName126,
+ (char)rchDevicePathName127
+ }).TrimEnd('\0');
+ }
+ }
+ public byte rchInputPathName0,rchInputPathName1,rchInputPathName2,rchInputPathName3,rchInputPathName4,rchInputPathName5,rchInputPathName6,rchInputPathName7,rchInputPathName8,rchInputPathName9,rchInputPathName10,rchInputPathName11,rchInputPathName12,rchInputPathName13,rchInputPathName14,rchInputPathName15,rchInputPathName16,rchInputPathName17,rchInputPathName18,rchInputPathName19,rchInputPathName20,rchInputPathName21,rchInputPathName22,rchInputPathName23,rchInputPathName24,rchInputPathName25,rchInputPathName26,rchInputPathName27,rchInputPathName28,rchInputPathName29,rchInputPathName30,rchInputPathName31,rchInputPathName32,rchInputPathName33,rchInputPathName34,rchInputPathName35,rchInputPathName36,rchInputPathName37,rchInputPathName38,rchInputPathName39,rchInputPathName40,rchInputPathName41,rchInputPathName42,rchInputPathName43,rchInputPathName44,rchInputPathName45,rchInputPathName46,rchInputPathName47,rchInputPathName48,rchInputPathName49,rchInputPathName50,rchInputPathName51,rchInputPathName52,rchInputPathName53,rchInputPathName54,rchInputPathName55,rchInputPathName56,rchInputPathName57,rchInputPathName58,rchInputPathName59,rchInputPathName60,rchInputPathName61,rchInputPathName62,rchInputPathName63,rchInputPathName64,rchInputPathName65,rchInputPathName66,rchInputPathName67,rchInputPathName68,rchInputPathName69,rchInputPathName70,rchInputPathName71,rchInputPathName72,rchInputPathName73,rchInputPathName74,rchInputPathName75,rchInputPathName76,rchInputPathName77,rchInputPathName78,rchInputPathName79,rchInputPathName80,rchInputPathName81,rchInputPathName82,rchInputPathName83,rchInputPathName84,rchInputPathName85,rchInputPathName86,rchInputPathName87,rchInputPathName88,rchInputPathName89,rchInputPathName90,rchInputPathName91,rchInputPathName92,rchInputPathName93,rchInputPathName94,rchInputPathName95,rchInputPathName96,rchInputPathName97,rchInputPathName98,rchInputPathName99,rchInputPathName100,rchInputPathName101,rchInputPathName102,rchInputPathName103,rchInputPathName104,rchInputPathName105,rchInputPathName106,rchInputPathName107,rchInputPathName108,rchInputPathName109,rchInputPathName110,rchInputPathName111,rchInputPathName112,rchInputPathName113,rchInputPathName114,rchInputPathName115,rchInputPathName116,rchInputPathName117,rchInputPathName118,rchInputPathName119,rchInputPathName120,rchInputPathName121,rchInputPathName122,rchInputPathName123,rchInputPathName124,rchInputPathName125,rchInputPathName126,rchInputPathName127;
+ public string rchInputPathName
+ {
+ get
+ {
+ return new string(new char[] {
+ (char)rchInputPathName0,
+ (char)rchInputPathName1,
+ (char)rchInputPathName2,
+ (char)rchInputPathName3,
+ (char)rchInputPathName4,
+ (char)rchInputPathName5,
+ (char)rchInputPathName6,
+ (char)rchInputPathName7,
+ (char)rchInputPathName8,
+ (char)rchInputPathName9,
+ (char)rchInputPathName10,
+ (char)rchInputPathName11,
+ (char)rchInputPathName12,
+ (char)rchInputPathName13,
+ (char)rchInputPathName14,
+ (char)rchInputPathName15,
+ (char)rchInputPathName16,
+ (char)rchInputPathName17,
+ (char)rchInputPathName18,
+ (char)rchInputPathName19,
+ (char)rchInputPathName20,
+ (char)rchInputPathName21,
+ (char)rchInputPathName22,
+ (char)rchInputPathName23,
+ (char)rchInputPathName24,
+ (char)rchInputPathName25,
+ (char)rchInputPathName26,
+ (char)rchInputPathName27,
+ (char)rchInputPathName28,
+ (char)rchInputPathName29,
+ (char)rchInputPathName30,
+ (char)rchInputPathName31,
+ (char)rchInputPathName32,
+ (char)rchInputPathName33,
+ (char)rchInputPathName34,
+ (char)rchInputPathName35,
+ (char)rchInputPathName36,
+ (char)rchInputPathName37,
+ (char)rchInputPathName38,
+ (char)rchInputPathName39,
+ (char)rchInputPathName40,
+ (char)rchInputPathName41,
+ (char)rchInputPathName42,
+ (char)rchInputPathName43,
+ (char)rchInputPathName44,
+ (char)rchInputPathName45,
+ (char)rchInputPathName46,
+ (char)rchInputPathName47,
+ (char)rchInputPathName48,
+ (char)rchInputPathName49,
+ (char)rchInputPathName50,
+ (char)rchInputPathName51,
+ (char)rchInputPathName52,
+ (char)rchInputPathName53,
+ (char)rchInputPathName54,
+ (char)rchInputPathName55,
+ (char)rchInputPathName56,
+ (char)rchInputPathName57,
+ (char)rchInputPathName58,
+ (char)rchInputPathName59,
+ (char)rchInputPathName60,
+ (char)rchInputPathName61,
+ (char)rchInputPathName62,
+ (char)rchInputPathName63,
+ (char)rchInputPathName64,
+ (char)rchInputPathName65,
+ (char)rchInputPathName66,
+ (char)rchInputPathName67,
+ (char)rchInputPathName68,
+ (char)rchInputPathName69,
+ (char)rchInputPathName70,
+ (char)rchInputPathName71,
+ (char)rchInputPathName72,
+ (char)rchInputPathName73,
+ (char)rchInputPathName74,
+ (char)rchInputPathName75,
+ (char)rchInputPathName76,
+ (char)rchInputPathName77,
+ (char)rchInputPathName78,
+ (char)rchInputPathName79,
+ (char)rchInputPathName80,
+ (char)rchInputPathName81,
+ (char)rchInputPathName82,
+ (char)rchInputPathName83,
+ (char)rchInputPathName84,
+ (char)rchInputPathName85,
+ (char)rchInputPathName86,
+ (char)rchInputPathName87,
+ (char)rchInputPathName88,
+ (char)rchInputPathName89,
+ (char)rchInputPathName90,
+ (char)rchInputPathName91,
+ (char)rchInputPathName92,
+ (char)rchInputPathName93,
+ (char)rchInputPathName94,
+ (char)rchInputPathName95,
+ (char)rchInputPathName96,
+ (char)rchInputPathName97,
+ (char)rchInputPathName98,
+ (char)rchInputPathName99,
+ (char)rchInputPathName100,
+ (char)rchInputPathName101,
+ (char)rchInputPathName102,
+ (char)rchInputPathName103,
+ (char)rchInputPathName104,
+ (char)rchInputPathName105,
+ (char)rchInputPathName106,
+ (char)rchInputPathName107,
+ (char)rchInputPathName108,
+ (char)rchInputPathName109,
+ (char)rchInputPathName110,
+ (char)rchInputPathName111,
+ (char)rchInputPathName112,
+ (char)rchInputPathName113,
+ (char)rchInputPathName114,
+ (char)rchInputPathName115,
+ (char)rchInputPathName116,
+ (char)rchInputPathName117,
+ (char)rchInputPathName118,
+ (char)rchInputPathName119,
+ (char)rchInputPathName120,
+ (char)rchInputPathName121,
+ (char)rchInputPathName122,
+ (char)rchInputPathName123,
+ (char)rchInputPathName124,
+ (char)rchInputPathName125,
+ (char)rchInputPathName126,
+ (char)rchInputPathName127
+ }).TrimEnd('\0');
+ }
+ }
+ public byte rchModeName0,rchModeName1,rchModeName2,rchModeName3,rchModeName4,rchModeName5,rchModeName6,rchModeName7,rchModeName8,rchModeName9,rchModeName10,rchModeName11,rchModeName12,rchModeName13,rchModeName14,rchModeName15,rchModeName16,rchModeName17,rchModeName18,rchModeName19,rchModeName20,rchModeName21,rchModeName22,rchModeName23,rchModeName24,rchModeName25,rchModeName26,rchModeName27,rchModeName28,rchModeName29,rchModeName30,rchModeName31,rchModeName32,rchModeName33,rchModeName34,rchModeName35,rchModeName36,rchModeName37,rchModeName38,rchModeName39,rchModeName40,rchModeName41,rchModeName42,rchModeName43,rchModeName44,rchModeName45,rchModeName46,rchModeName47,rchModeName48,rchModeName49,rchModeName50,rchModeName51,rchModeName52,rchModeName53,rchModeName54,rchModeName55,rchModeName56,rchModeName57,rchModeName58,rchModeName59,rchModeName60,rchModeName61,rchModeName62,rchModeName63,rchModeName64,rchModeName65,rchModeName66,rchModeName67,rchModeName68,rchModeName69,rchModeName70,rchModeName71,rchModeName72,rchModeName73,rchModeName74,rchModeName75,rchModeName76,rchModeName77,rchModeName78,rchModeName79,rchModeName80,rchModeName81,rchModeName82,rchModeName83,rchModeName84,rchModeName85,rchModeName86,rchModeName87,rchModeName88,rchModeName89,rchModeName90,rchModeName91,rchModeName92,rchModeName93,rchModeName94,rchModeName95,rchModeName96,rchModeName97,rchModeName98,rchModeName99,rchModeName100,rchModeName101,rchModeName102,rchModeName103,rchModeName104,rchModeName105,rchModeName106,rchModeName107,rchModeName108,rchModeName109,rchModeName110,rchModeName111,rchModeName112,rchModeName113,rchModeName114,rchModeName115,rchModeName116,rchModeName117,rchModeName118,rchModeName119,rchModeName120,rchModeName121,rchModeName122,rchModeName123,rchModeName124,rchModeName125,rchModeName126,rchModeName127;
+ public string rchModeName
+ {
+ get
+ {
+ return new string(new char[] {
+ (char)rchModeName0,
+ (char)rchModeName1,
+ (char)rchModeName2,
+ (char)rchModeName3,
+ (char)rchModeName4,
+ (char)rchModeName5,
+ (char)rchModeName6,
+ (char)rchModeName7,
+ (char)rchModeName8,
+ (char)rchModeName9,
+ (char)rchModeName10,
+ (char)rchModeName11,
+ (char)rchModeName12,
+ (char)rchModeName13,
+ (char)rchModeName14,
+ (char)rchModeName15,
+ (char)rchModeName16,
+ (char)rchModeName17,
+ (char)rchModeName18,
+ (char)rchModeName19,
+ (char)rchModeName20,
+ (char)rchModeName21,
+ (char)rchModeName22,
+ (char)rchModeName23,
+ (char)rchModeName24,
+ (char)rchModeName25,
+ (char)rchModeName26,
+ (char)rchModeName27,
+ (char)rchModeName28,
+ (char)rchModeName29,
+ (char)rchModeName30,
+ (char)rchModeName31,
+ (char)rchModeName32,
+ (char)rchModeName33,
+ (char)rchModeName34,
+ (char)rchModeName35,
+ (char)rchModeName36,
+ (char)rchModeName37,
+ (char)rchModeName38,
+ (char)rchModeName39,
+ (char)rchModeName40,
+ (char)rchModeName41,
+ (char)rchModeName42,
+ (char)rchModeName43,
+ (char)rchModeName44,
+ (char)rchModeName45,
+ (char)rchModeName46,
+ (char)rchModeName47,
+ (char)rchModeName48,
+ (char)rchModeName49,
+ (char)rchModeName50,
+ (char)rchModeName51,
+ (char)rchModeName52,
+ (char)rchModeName53,
+ (char)rchModeName54,
+ (char)rchModeName55,
+ (char)rchModeName56,
+ (char)rchModeName57,
+ (char)rchModeName58,
+ (char)rchModeName59,
+ (char)rchModeName60,
+ (char)rchModeName61,
+ (char)rchModeName62,
+ (char)rchModeName63,
+ (char)rchModeName64,
+ (char)rchModeName65,
+ (char)rchModeName66,
+ (char)rchModeName67,
+ (char)rchModeName68,
+ (char)rchModeName69,
+ (char)rchModeName70,
+ (char)rchModeName71,
+ (char)rchModeName72,
+ (char)rchModeName73,
+ (char)rchModeName74,
+ (char)rchModeName75,
+ (char)rchModeName76,
+ (char)rchModeName77,
+ (char)rchModeName78,
+ (char)rchModeName79,
+ (char)rchModeName80,
+ (char)rchModeName81,
+ (char)rchModeName82,
+ (char)rchModeName83,
+ (char)rchModeName84,
+ (char)rchModeName85,
+ (char)rchModeName86,
+ (char)rchModeName87,
+ (char)rchModeName88,
+ (char)rchModeName89,
+ (char)rchModeName90,
+ (char)rchModeName91,
+ (char)rchModeName92,
+ (char)rchModeName93,
+ (char)rchModeName94,
+ (char)rchModeName95,
+ (char)rchModeName96,
+ (char)rchModeName97,
+ (char)rchModeName98,
+ (char)rchModeName99,
+ (char)rchModeName100,
+ (char)rchModeName101,
+ (char)rchModeName102,
+ (char)rchModeName103,
+ (char)rchModeName104,
+ (char)rchModeName105,
+ (char)rchModeName106,
+ (char)rchModeName107,
+ (char)rchModeName108,
+ (char)rchModeName109,
+ (char)rchModeName110,
+ (char)rchModeName111,
+ (char)rchModeName112,
+ (char)rchModeName113,
+ (char)rchModeName114,
+ (char)rchModeName115,
+ (char)rchModeName116,
+ (char)rchModeName117,
+ (char)rchModeName118,
+ (char)rchModeName119,
+ (char)rchModeName120,
+ (char)rchModeName121,
+ (char)rchModeName122,
+ (char)rchModeName123,
+ (char)rchModeName124,
+ (char)rchModeName125,
+ (char)rchModeName126,
+ (char)rchModeName127
+ }).TrimEnd('\0');
+ }
+ }
+ public byte rchSlotName0,rchSlotName1,rchSlotName2,rchSlotName3,rchSlotName4,rchSlotName5,rchSlotName6,rchSlotName7,rchSlotName8,rchSlotName9,rchSlotName10,rchSlotName11,rchSlotName12,rchSlotName13,rchSlotName14,rchSlotName15,rchSlotName16,rchSlotName17,rchSlotName18,rchSlotName19,rchSlotName20,rchSlotName21,rchSlotName22,rchSlotName23,rchSlotName24,rchSlotName25,rchSlotName26,rchSlotName27,rchSlotName28,rchSlotName29,rchSlotName30,rchSlotName31,rchSlotName32,rchSlotName33,rchSlotName34,rchSlotName35,rchSlotName36,rchSlotName37,rchSlotName38,rchSlotName39,rchSlotName40,rchSlotName41,rchSlotName42,rchSlotName43,rchSlotName44,rchSlotName45,rchSlotName46,rchSlotName47,rchSlotName48,rchSlotName49,rchSlotName50,rchSlotName51,rchSlotName52,rchSlotName53,rchSlotName54,rchSlotName55,rchSlotName56,rchSlotName57,rchSlotName58,rchSlotName59,rchSlotName60,rchSlotName61,rchSlotName62,rchSlotName63,rchSlotName64,rchSlotName65,rchSlotName66,rchSlotName67,rchSlotName68,rchSlotName69,rchSlotName70,rchSlotName71,rchSlotName72,rchSlotName73,rchSlotName74,rchSlotName75,rchSlotName76,rchSlotName77,rchSlotName78,rchSlotName79,rchSlotName80,rchSlotName81,rchSlotName82,rchSlotName83,rchSlotName84,rchSlotName85,rchSlotName86,rchSlotName87,rchSlotName88,rchSlotName89,rchSlotName90,rchSlotName91,rchSlotName92,rchSlotName93,rchSlotName94,rchSlotName95,rchSlotName96,rchSlotName97,rchSlotName98,rchSlotName99,rchSlotName100,rchSlotName101,rchSlotName102,rchSlotName103,rchSlotName104,rchSlotName105,rchSlotName106,rchSlotName107,rchSlotName108,rchSlotName109,rchSlotName110,rchSlotName111,rchSlotName112,rchSlotName113,rchSlotName114,rchSlotName115,rchSlotName116,rchSlotName117,rchSlotName118,rchSlotName119,rchSlotName120,rchSlotName121,rchSlotName122,rchSlotName123,rchSlotName124,rchSlotName125,rchSlotName126,rchSlotName127;
+ public string rchSlotName
+ {
+ get
+ {
+ return new string(new char[] {
+ (char)rchSlotName0,
+ (char)rchSlotName1,
+ (char)rchSlotName2,
+ (char)rchSlotName3,
+ (char)rchSlotName4,
+ (char)rchSlotName5,
+ (char)rchSlotName6,
+ (char)rchSlotName7,
+ (char)rchSlotName8,
+ (char)rchSlotName9,
+ (char)rchSlotName10,
+ (char)rchSlotName11,
+ (char)rchSlotName12,
+ (char)rchSlotName13,
+ (char)rchSlotName14,
+ (char)rchSlotName15,
+ (char)rchSlotName16,
+ (char)rchSlotName17,
+ (char)rchSlotName18,
+ (char)rchSlotName19,
+ (char)rchSlotName20,
+ (char)rchSlotName21,
+ (char)rchSlotName22,
+ (char)rchSlotName23,
+ (char)rchSlotName24,
+ (char)rchSlotName25,
+ (char)rchSlotName26,
+ (char)rchSlotName27,
+ (char)rchSlotName28,
+ (char)rchSlotName29,
+ (char)rchSlotName30,
+ (char)rchSlotName31,
+ (char)rchSlotName32,
+ (char)rchSlotName33,
+ (char)rchSlotName34,
+ (char)rchSlotName35,
+ (char)rchSlotName36,
+ (char)rchSlotName37,
+ (char)rchSlotName38,
+ (char)rchSlotName39,
+ (char)rchSlotName40,
+ (char)rchSlotName41,
+ (char)rchSlotName42,
+ (char)rchSlotName43,
+ (char)rchSlotName44,
+ (char)rchSlotName45,
+ (char)rchSlotName46,
+ (char)rchSlotName47,
+ (char)rchSlotName48,
+ (char)rchSlotName49,
+ (char)rchSlotName50,
+ (char)rchSlotName51,
+ (char)rchSlotName52,
+ (char)rchSlotName53,
+ (char)rchSlotName54,
+ (char)rchSlotName55,
+ (char)rchSlotName56,
+ (char)rchSlotName57,
+ (char)rchSlotName58,
+ (char)rchSlotName59,
+ (char)rchSlotName60,
+ (char)rchSlotName61,
+ (char)rchSlotName62,
+ (char)rchSlotName63,
+ (char)rchSlotName64,
+ (char)rchSlotName65,
+ (char)rchSlotName66,
+ (char)rchSlotName67,
+ (char)rchSlotName68,
+ (char)rchSlotName69,
+ (char)rchSlotName70,
+ (char)rchSlotName71,
+ (char)rchSlotName72,
+ (char)rchSlotName73,
+ (char)rchSlotName74,
+ (char)rchSlotName75,
+ (char)rchSlotName76,
+ (char)rchSlotName77,
+ (char)rchSlotName78,
+ (char)rchSlotName79,
+ (char)rchSlotName80,
+ (char)rchSlotName81,
+ (char)rchSlotName82,
+ (char)rchSlotName83,
+ (char)rchSlotName84,
+ (char)rchSlotName85,
+ (char)rchSlotName86,
+ (char)rchSlotName87,
+ (char)rchSlotName88,
+ (char)rchSlotName89,
+ (char)rchSlotName90,
+ (char)rchSlotName91,
+ (char)rchSlotName92,
+ (char)rchSlotName93,
+ (char)rchSlotName94,
+ (char)rchSlotName95,
+ (char)rchSlotName96,
+ (char)rchSlotName97,
+ (char)rchSlotName98,
+ (char)rchSlotName99,
+ (char)rchSlotName100,
+ (char)rchSlotName101,
+ (char)rchSlotName102,
+ (char)rchSlotName103,
+ (char)rchSlotName104,
+ (char)rchSlotName105,
+ (char)rchSlotName106,
+ (char)rchSlotName107,
+ (char)rchSlotName108,
+ (char)rchSlotName109,
+ (char)rchSlotName110,
+ (char)rchSlotName111,
+ (char)rchSlotName112,
+ (char)rchSlotName113,
+ (char)rchSlotName114,
+ (char)rchSlotName115,
+ (char)rchSlotName116,
+ (char)rchSlotName117,
+ (char)rchSlotName118,
+ (char)rchSlotName119,
+ (char)rchSlotName120,
+ (char)rchSlotName121,
+ (char)rchSlotName122,
+ (char)rchSlotName123,
+ (char)rchSlotName124,
+ (char)rchSlotName125,
+ (char)rchSlotName126,
+ (char)rchSlotName127
+ }).TrimEnd('\0');
+ }
+ }
+}
[StructLayout(LayoutKind.Sequential)] public struct VRActiveActionSet_t
{
public ulong ulActionSet;
@@ -5833,6 +6470,7 @@ public enum EIOBufferMode
public IntPtr m_pVRInput; // class vr::IVRInput *
public IntPtr m_pVRIOBuffer; // class vr::IVRIOBuffer *
public IntPtr m_pVRSpatialAnchors; // class vr::IVRSpatialAnchors *
+ public IntPtr m_pVRDebug; // class vr::IVRDebug *
public IntPtr m_pVRNotifications; // class vr::IVRNotifications *
}
@@ -5929,7 +6567,7 @@ public class OpenVR
public const ulong k_ulOverlayHandleInvalid = 0;
public const uint k_unMaxDistortionFunctionParameters = 8;
public const uint k_unScreenshotHandleInvalid = 0;
- public const string IVRSystem_Version = "IVRSystem_019";
+ public const string IVRSystem_Version = "IVRSystem_020";
public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
public const string IVRTrackedCamera_Version = "IVRTrackedCamera_005";
public const uint k_unMaxApplicationKeyLength = 128;
@@ -6105,6 +6743,7 @@ public class OpenVR
public const string k_pch_Dashboard_UseWebPowerMenu = "useWebPowerMenu";
public const string k_pch_modelskin_Section = "modelskins";
public const string k_pch_Driver_Enable_Bool = "enable";
+ public const string k_pch_Driver_LoadPriority_Int32 = "loadPriority";
public const string k_pch_WebInterface_Section = "WebInterface";
public const string k_pch_WebInterface_WebEnable_Bool = "WebEnable";
public const string k_pch_WebInterface_WebPort_String = "WebPort";
@@ -6128,11 +6767,12 @@ public class OpenVR
public const uint k_unMaxActionSetNameLength = 64;
public const uint k_unMaxActionOriginCount = 16;
public const uint k_unMaxBoneNameLength = 32;
- public const string IVRInput_Version = "IVRInput_006";
+ public const string IVRInput_Version = "IVRInput_007";
public const ulong k_ulInvalidIOBufferHandle = 0;
public const string IVRIOBuffer_Version = "IVRIOBuffer_002";
public const uint k_ulInvalidSpatialAnchorHandle = 0;
public const string IVRSpatialAnchors_Version = "IVRSpatialAnchors_001";
+ public const string IVRDebug_Version = "IVRDebug_001";
static uint VRToken { get; set; }
@@ -6159,6 +6799,7 @@ public class OpenVR
m_pVRIOBuffer = null;
m_pVRSpatialAnchors = null;
m_pVRNotifications = null;
+ m_pVRDebug = null;
}
void CheckClear()
@@ -6352,6 +6993,19 @@ public class OpenVR
return m_pVRSpatialAnchors;
}
+ public CVRDebug VRDebug()
+ {
+ CheckClear();
+ if (m_pVRDebug == null)
+ {
+ var eError = EVRInitError.None;
+ var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix + IVRDebug_Version, ref eError);
+ if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
+ m_pVRDebug = new CVRDebug(pInterface);
+ }
+ return m_pVRDebug;
+ }
+
public CVRNotifications VRNotifications()
{
CheckClear();
@@ -6380,6 +7034,7 @@ public class OpenVR
private CVRIOBuffer m_pVRIOBuffer;
private CVRSpatialAnchors m_pVRSpatialAnchors;
private CVRNotifications m_pVRNotifications;
+ private CVRDebug m_pVRDebug;
};
private static COpenVRContext _OpenVRInternal_ModuleContext = null;
@@ -6408,6 +7063,8 @@ public class OpenVR
public static CVRIOBuffer IOBuffer { get { return OpenVRInternal_ModuleContext.VRIOBuffer(); } }
public static CVRSpatialAnchors SpatialAnchors { get { return OpenVRInternal_ModuleContext.VRSpatialAnchors(); } }
public static CVRNotifications Notifications { get { return OpenVRInternal_ModuleContext.VRNotifications(); } }
+ public static CVRDebug Debug { get { return OpenVRInternal_ModuleContext.VRDebug(); } }
+
/** Finds the active installation of vrclient.dll and initializes it */
public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene, string pchStartupInfo= "")
diff --git a/headers/openvr_api.json b/headers/openvr_api.json
index 6dc415f..55f2fa3 100644
--- a/headers/openvr_api.json
+++ b/headers/openvr_api.json
@@ -23,6 +23,7 @@
,{"typedef": "vr::TextureID_t","type": "int32_t"}
,{"typedef": "vr::VRNotificationId","type": "uint32_t"}
,{"typedef": "vr::IOBufferHandle_t","type": "uint64_t"}
+,{"typedef": "vr::VrProfilerEventHandle_t","type": "uint64_t"}
,{"typedef": "vr::HmdError","type": "enum vr::EVRInitError"}
,{"typedef": "vr::Hmd_Eye","type": "enum vr::EVREye"}
,{"typedef": "vr::ColorSpace","type": "enum vr::EColorSpace"}
@@ -144,6 +145,7 @@
,{"name": "Prop_BootloaderVersion_Uint64","value": "1044"}
,{"name": "Prop_AdditionalSystemReportData_String","value": "1045"}
,{"name": "Prop_CompositeFirmwareVersion_String","value": "1046"}
+ ,{"name": "Prop_Firmware_RemindUpdate_Bool","value": "1047"}
,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"}
,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"}
,{"name": "Prop_DisplayFrequency_Float","value": "2002"}
@@ -216,6 +218,8 @@
,{"name": "Prop_CameraDistortionFunction_Int32_Array","value": "2072"}
,{"name": "Prop_CameraDistortionCoefficients_Float_Array","value": "2073"}
,{"name": "Prop_ExpectedControllerType_String","value": "2074"}
+ ,{"name": "Prop_HmdTrackingStyle_Int32","value": "2075"}
+ ,{"name": "Prop_DriverProvidedChaperoneVisibility_Bool","value": "2076"}
,{"name": "Prop_DisplayAvailableFrameRates_Float_Array","value": "2080"}
,{"name": "Prop_DisplaySupportsMultipleFramerates_Bool","value": "2081"}
,{"name": "Prop_DashboardLayoutPathName_String","value": "2090"}
@@ -287,6 +291,12 @@
,{"name": "TrackedProp_CannotWriteToWildcards","value": "12"}
,{"name": "TrackedProp_IPCReadFailure","value": "13"}
]}
+, {"enumname": "vr::EHmdTrackingStyle","values": [
+ {"name": "HmdTrackingStyle_Unknown","value": "0"}
+ ,{"name": "HmdTrackingStyle_Lighthouse","value": "1"}
+ ,{"name": "HmdTrackingStyle_OutsideInCameras","value": "2"}
+ ,{"name": "HmdTrackingStyle_InsideOutCameras","value": "3"}
+]}
, {"enumname": "vr::EVRSubmitFlags","values": [
{"name": "Submit_Default","value": "0"}
,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"}
@@ -519,6 +529,7 @@
,{"name": "ShowUI_ManageTrackers","value": "1"}
,{"name": "ShowUI_Pairing","value": "3"}
,{"name": "ShowUI_Settings","value": "4"}
+ ,{"name": "ShowUI_DebugCommands","value": "5"}
]}
, {"enumname": "vr::EHDCPError","values": [
{"name": "HDCPError_None","value": "0"}
@@ -803,6 +814,8 @@
,{"name": "VRInitError_Compositor_CreateTextIndexBuffer","value": "482"}
,{"name": "VRInitError_Compositor_CreateMirrorTextures","value": "483"}
,{"name": "VRInitError_Compositor_CreateLastFrameRenderTexture","value": "484"}
+ ,{"name": "VRInitError_Compositor_CreateMirrorOverlay","value": "485"}
+ ,{"name": "VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer","value": "486"}
,{"name": "VRInitError_VendorSpecific_UnableToConnectToOculusRuntime","value": "1000"}
,{"name": "VRInitError_VendorSpecific_WindowsNotInDevMode","value": "1001"}
,{"name": "VRInitError_VendorSpecific_HmdFound_CantOpenDevice","value": "1101"}
@@ -818,6 +831,7 @@
,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataAddressRange","value": "1111"}
,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataError","value": "1112"}
,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck","value": "1113"}
+ ,{"name": "VRInitError_VendorSpecific_OculusRuntimeBadInstall","value": "1114"}
,{"name": "VRInitError_Steam_SteamInstallationNotFound","value": "2000"}
,{"name": "VRInitError_LastError","value": "2001"}
]}
@@ -1136,6 +1150,10 @@
,{"name": "IOBufferMode_Write","value": "2"}
,{"name": "IOBufferMode_Create","value": "512"}
]}
+, {"enumname": "vr::EVRDebugError","values": [
+ {"name": "VRDebugError_Success","value": "0"}
+ ,{"name": "VRDebugError_BadParameter","value": "1"}
+]}
],
"consts":[{
"constname": "k_nDriverNone","consttype": "const uint32_t", "constval": "4294967295"}
@@ -1218,7 +1236,7 @@
,{
"constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"}
,{
- "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_019"}
+ "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_020"}
,{
"constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"}
,{
@@ -1570,6 +1588,8 @@
,{
"constname": "k_pch_Driver_Enable_Bool","consttype": "const char *const", "constval": "enable"}
,{
+ "constname": "k_pch_Driver_LoadPriority_Int32","consttype": "const char *const", "constval": "loadPriority"}
+,{
"constname": "k_pch_WebInterface_Section","consttype": "const char *const", "constval": "WebInterface"}
,{
"constname": "k_pch_WebInterface_WebEnable_Bool","consttype": "const char *const", "constval": "WebEnable"}
@@ -1616,7 +1636,7 @@
,{
"constname": "k_unMaxBoneNameLength","consttype": "const uint32_t", "constval": "32"}
,{
- "constname": "IVRInput_Version","consttype": "const char *const", "constval": "IVRInput_006"}
+ "constname": "IVRInput_Version","consttype": "const char *const", "constval": "IVRInput_007"}
,{
"constname": "k_ulInvalidIOBufferHandle","consttype": "const uint64_t", "constval": "0"}
,{
@@ -1625,6 +1645,8 @@
"constname": "k_ulInvalidSpatialAnchorHandle","consttype": "const SpatialAnchorHandle_t", "constval": "0"}
,{
"constname": "IVRSpatialAnchors_Version","consttype": "const char *const", "constval": "IVRSpatialAnchors_001"}
+,{
+ "constname": "IVRDebug_Version","consttype": "const char *const", "constval": "IVRDebug_001"}
],
"structs":[{"struct": "vr::HmdMatrix34_t","fields": [
{ "fieldname": "m", "fieldtype": "float [3][4]"}]}
@@ -2018,6 +2040,11 @@
{ "fieldname": "devicePath", "fieldtype": "VRInputValueHandle_t"},
{ "fieldname": "trackedDeviceIndex", "fieldtype": "TrackedDeviceIndex_t"},
{ "fieldname": "rchRenderModelComponentName", "fieldtype": "char [128]"}]}
+,{"struct": "vr::InputBindingInfo_t","fields": [
+{ "fieldname": "rchDevicePathName", "fieldtype": "char [128]"},
+{ "fieldname": "rchInputPathName", "fieldtype": "char [128]"},
+{ "fieldname": "rchModeName", "fieldtype": "char [128]"},
+{ "fieldname": "rchSlotName", "fieldtype": "char [128]"}]}
,{"struct": "vr::VRActiveActionSet_t","fields": [
{ "fieldname": "ulActionSet", "fieldtype": "VRActionSetHandle_t"},
{ "fieldname": "ulRestrictedToDevice", "fieldtype": "VRInputValueHandle_t"},
@@ -2046,6 +2073,7 @@
{ "fieldname": "m_pVRInput", "fieldtype": "class vr::IVRInput *"},
{ "fieldname": "m_pVRIOBuffer", "fieldtype": "class vr::IVRIOBuffer *"},
{ "fieldname": "m_pVRSpatialAnchors", "fieldtype": "class vr::IVRSpatialAnchors *"},
+{ "fieldname": "m_pVRDebug", "fieldtype": "class vr::IVRDebug *"},
{ "fieldname": "m_pVRNotifications", "fieldtype": "class vr::IVRNotifications *"}]}
],
"methods":[{
@@ -2420,17 +2448,6 @@
}
,{
"classname": "vr::IVRSystem",
- "methodname": "DriverDebugRequest",
- "returntype": "uint32_t",
- "params": [
-{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"},
-{ "paramname": "pchRequest" ,"paramtype": "const char *"},
-{ "paramname": "pchResponseBuffer" ,"out_string": " " ,"paramtype": "char *"},
-{ "paramname": "unResponseBufferSize" ,"paramtype": "uint32_t"}
- ]
-}
-,{
- "classname": "vr::IVRSystem",
"methodname": "PerformFirmwareUpdate",
"returntype": "vr::EVRFirmwareError",
"params": [
@@ -4627,6 +4644,14 @@
]
}
,{
+ "classname": "vr::IVRDriverManager",
+ "methodname": "IsEnabled",
+ "returntype": "bool",
+ "params": [
+{ "paramname": "nDriver" ,"paramtype": "vr::DriverId_t"}
+ ]
+}
+,{
"classname": "vr::IVRInput",
"methodname": "SetActionManifestPath",
"returntype": "vr::EVRInputError",
@@ -4872,6 +4897,18 @@
}
,{
"classname": "vr::IVRInput",
+ "methodname": "GetActionBindingInfo",
+ "returntype": "vr::EVRInputError",
+ "params": [
+{ "paramname": "action" ,"paramtype": "vr::VRActionHandle_t"},
+{ "paramname": "pOriginInfo" ,"paramtype": "struct vr::InputBindingInfo_t *"},
+{ "paramname": "unBindingInfoSize" ,"paramtype": "uint32_t"},
+{ "paramname": "unBindingInfoCount" ,"paramtype": "uint32_t"},
+{ "paramname": "punReturnedBindingInfoCount" ,"paramtype": "uint32_t *"}
+ ]
+}
+,{
+ "classname": "vr::IVRInput",
"methodname": "ShowActionOrigins",
"returntype": "vr::EVRInputError",
"params": [
@@ -4992,5 +5029,41 @@
{ "paramname": "punDescriptorBufferLenInOut" ,"paramtype": "uint32_t *"}
]
}
+,{
+ "classname": "vr::IVRDebug",
+ "methodname": "EmitVrProfilerEvent",
+ "returntype": "vr::EVRDebugError",
+ "params": [
+{ "paramname": "pchMessage" ,"paramtype": "const char *"}
+ ]
+}
+,{
+ "classname": "vr::IVRDebug",
+ "methodname": "BeginVrProfilerEvent",
+ "returntype": "vr::EVRDebugError",
+ "params": [
+{ "paramname": "pHandleOut" ,"paramtype": "vr::VrProfilerEventHandle_t *"}
+ ]
+}
+,{
+ "classname": "vr::IVRDebug",
+ "methodname": "FinishVrProfilerEvent",
+ "returntype": "vr::EVRDebugError",
+ "params": [
+{ "paramname": "hHandle" ,"paramtype": "vr::VrProfilerEventHandle_t"},
+{ "paramname": "pchMessage" ,"paramtype": "const char *"}
+ ]
+}
+,{
+ "classname": "vr::IVRDebug",
+ "methodname": "DriverDebugRequest",
+ "returntype": "uint32_t",
+ "params": [
+{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"},
+{ "paramname": "pchRequest" ,"paramtype": "const char *"},
+{ "paramname": "pchResponseBuffer" ,"out_string": " " ,"paramtype": "char *"},
+{ "paramname": "unResponseBufferSize" ,"paramtype": "uint32_t"}
+ ]
+}
]
} \ No newline at end of file
diff --git a/headers/openvr_capi.h b/headers/openvr_capi.h
index 6cb9c44..9654148 100644
--- a/headers/openvr_capi.h
+++ b/headers/openvr_capi.h
@@ -103,7 +103,7 @@ static const unsigned int k_unControllerStateAxisCount = 5;
static const unsigned long k_ulOverlayHandleInvalid = 0;
static const unsigned int k_unMaxDistortionFunctionParameters = 8;
static const unsigned int k_unScreenshotHandleInvalid = 0;
-static const char * IVRSystem_Version = "IVRSystem_019";
+static const char * IVRSystem_Version = "IVRSystem_020";
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_005";
static const unsigned int k_unMaxApplicationKeyLength = 128;
@@ -279,6 +279,7 @@ static const char * k_pch_Dashboard_UseWebIPD = "useWebIPD";
static const char * k_pch_Dashboard_UseWebPowerMenu = "useWebPowerMenu";
static const char * k_pch_modelskin_Section = "modelskins";
static const char * k_pch_Driver_Enable_Bool = "enable";
+static const char * k_pch_Driver_LoadPriority_Int32 = "loadPriority";
static const char * k_pch_WebInterface_Section = "WebInterface";
static const char * k_pch_WebInterface_WebEnable_Bool = "WebEnable";
static const char * k_pch_WebInterface_WebPort_String = "WebPort";
@@ -302,11 +303,12 @@ static const unsigned int k_unMaxActionNameLength = 64;
static const unsigned int k_unMaxActionSetNameLength = 64;
static const unsigned int k_unMaxActionOriginCount = 16;
static const unsigned int k_unMaxBoneNameLength = 32;
-static const char * IVRInput_Version = "IVRInput_006";
+static const char * IVRInput_Version = "IVRInput_007";
static const unsigned long k_ulInvalidIOBufferHandle = 0;
static const char * IVRIOBuffer_Version = "IVRIOBuffer_002";
static const unsigned int k_ulInvalidSpatialAnchorHandle = 0;
static const char * IVRSpatialAnchors_Version = "IVRSpatialAnchors_001";
+static const char * IVRDebug_Version = "IVRDebug_001";
// OpenVR Enums
@@ -431,6 +433,7 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_BootloaderVersion_Uint64 = 1044,
ETrackedDeviceProperty_Prop_AdditionalSystemReportData_String = 1045,
ETrackedDeviceProperty_Prop_CompositeFirmwareVersion_String = 1046,
+ ETrackedDeviceProperty_Prop_Firmware_RemindUpdate_Bool = 1047,
ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000,
ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001,
ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002,
@@ -503,6 +506,8 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_CameraDistortionFunction_Int32_Array = 2072,
ETrackedDeviceProperty_Prop_CameraDistortionCoefficients_Float_Array = 2073,
ETrackedDeviceProperty_Prop_ExpectedControllerType_String = 2074,
+ ETrackedDeviceProperty_Prop_HmdTrackingStyle_Int32 = 2075,
+ ETrackedDeviceProperty_Prop_DriverProvidedChaperoneVisibility_Bool = 2076,
ETrackedDeviceProperty_Prop_DisplayAvailableFrameRates_Float_Array = 2080,
ETrackedDeviceProperty_Prop_DisplaySupportsMultipleFramerates_Bool = 2081,
ETrackedDeviceProperty_Prop_DashboardLayoutPathName_String = 2090,
@@ -577,6 +582,14 @@ typedef enum ETrackedPropertyError
ETrackedPropertyError_TrackedProp_IPCReadFailure = 13,
} ETrackedPropertyError;
+typedef enum EHmdTrackingStyle
+{
+ EHmdTrackingStyle_HmdTrackingStyle_Unknown = 0,
+ EHmdTrackingStyle_HmdTrackingStyle_Lighthouse = 1,
+ EHmdTrackingStyle_HmdTrackingStyle_OutsideInCameras = 2,
+ EHmdTrackingStyle_HmdTrackingStyle_InsideOutCameras = 3,
+} EHmdTrackingStyle;
+
typedef enum EVRSubmitFlags
{
EVRSubmitFlags_Submit_Default = 0,
@@ -824,6 +837,7 @@ typedef enum EShowUIType
EShowUIType_ShowUI_ManageTrackers = 1,
EShowUIType_ShowUI_Pairing = 3,
EShowUIType_ShowUI_Settings = 4,
+ EShowUIType_ShowUI_DebugCommands = 5,
} EShowUIType;
typedef enum EHDCPError
@@ -1136,6 +1150,8 @@ typedef enum EVRInitError
EVRInitError_VRInitError_Compositor_CreateTextIndexBuffer = 482,
EVRInitError_VRInitError_Compositor_CreateMirrorTextures = 483,
EVRInitError_VRInitError_Compositor_CreateLastFrameRenderTexture = 484,
+ EVRInitError_VRInitError_Compositor_CreateMirrorOverlay = 485,
+ EVRInitError_VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer = 486,
EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
EVRInitError_VRInitError_VendorSpecific_WindowsNotInDevMode = 1001,
EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
@@ -1151,6 +1167,7 @@ typedef enum EVRInitError
EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112,
EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
+ EVRInitError_VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114,
EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000,
EVRInitError_VRInitError_LastError = 2001,
} EVRInitError;
@@ -1550,6 +1567,12 @@ typedef enum EIOBufferMode
EIOBufferMode_IOBufferMode_Create = 512,
} EIOBufferMode;
+typedef enum EVRDebugError
+{
+ EVRDebugError_VRDebugError_Success = 0,
+ EVRDebugError_VRDebugError_BadParameter = 1,
+} EVRDebugError;
+
// OpenVR typedefs
@@ -1579,6 +1602,7 @@ typedef uint32_t VRComponentProperties;
typedef int32_t TextureID_t;
typedef uint32_t VRNotificationId;
typedef uint64_t IOBufferHandle_t;
+typedef uint64_t VrProfilerEventHandle_t;
typedef EVRInitError HmdError;
typedef EVREye Hmd_Eye;
typedef EColorSpace ColorSpace;
@@ -2196,6 +2220,14 @@ typedef struct InputOriginInfo_t
char rchRenderModelComponentName[128]; //char[128]
} InputOriginInfo_t;
+typedef struct InputBindingInfo_t
+{
+ char rchDevicePathName[128]; //char[128]
+ char rchInputPathName[128]; //char[128]
+ char rchModeName[128]; //char[128]
+ char rchSlotName[128]; //char[128]
+} InputBindingInfo_t;
+
typedef struct VRActiveActionSet_t
{
VRActionSetHandle_t ulActionSet;
@@ -2234,6 +2266,7 @@ typedef struct COpenVRContext
intptr_t m_pVRInput; // class vr::IVRInput *
intptr_t m_pVRIOBuffer; // class vr::IVRIOBuffer *
intptr_t m_pVRSpatialAnchors; // class vr::IVRSpatialAnchors *
+ intptr_t m_pVRDebug; // class vr::IVRDebug *
intptr_t m_pVRNotifications; // class vr::IVRNotifications *
} COpenVRContext;
@@ -2349,7 +2382,6 @@ struct VR_IVRSystem_FnTable
bool (OPENVR_FNTABLE_CALLTYPE *IsSteamVRDrawingControllers)();
bool (OPENVR_FNTABLE_CALLTYPE *ShouldApplicationPause)();
bool (OPENVR_FNTABLE_CALLTYPE *ShouldApplicationReduceRenderingWork)();
- uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize);
EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex);
void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)();
void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)();
@@ -2652,6 +2684,7 @@ struct VR_IVRDriverManager_FnTable
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetDriverCount)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetDriverName)(DriverId_t nDriver, char * pchValue, uint32_t unBufferSize);
DriverHandle_t (OPENVR_FNTABLE_CALLTYPE *GetDriverHandle)(char * pchDriverName);
+ bool (OPENVR_FNTABLE_CALLTYPE *IsEnabled)(DriverId_t nDriver);
};
struct VR_IVRInput_FnTable
@@ -2679,6 +2712,7 @@ struct VR_IVRInput_FnTable
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetActionOrigins)(VRActionSetHandle_t actionSetHandle, VRActionHandle_t digitalActionHandle, VRInputValueHandle_t * originsOut, uint32_t originOutCount);
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetOriginLocalizedName)(VRInputValueHandle_t origin, char * pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude);
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetOriginTrackedDeviceInfo)(VRInputValueHandle_t origin, struct InputOriginInfo_t * pOriginInfo, uint32_t unOriginInfoSize);
+ EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetActionBindingInfo)(VRActionHandle_t action, struct InputBindingInfo_t * pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, uint32_t * punReturnedBindingInfoCount);
EVRInputError (OPENVR_FNTABLE_CALLTYPE *ShowActionOrigins)(VRActionSetHandle_t actionSetHandle, VRActionHandle_t ulActionHandle);
EVRInputError (OPENVR_FNTABLE_CALLTYPE *ShowBindingsForActionSet)(struct VRActiveActionSet_t * pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, VRInputValueHandle_t originToHighlight);
bool (OPENVR_FNTABLE_CALLTYPE *IsUsingLegacyInput)();
@@ -2702,6 +2736,14 @@ struct VR_IVRSpatialAnchors_FnTable
EVRSpatialAnchorError (OPENVR_FNTABLE_CALLTYPE *GetSpatialAnchorDescriptor)(SpatialAnchorHandle_t unHandle, char * pchDescriptorOut, uint32_t * punDescriptorBufferLenInOut);
};
+struct VR_IVRDebug_FnTable
+{
+ EVRDebugError (OPENVR_FNTABLE_CALLTYPE *EmitVrProfilerEvent)(char * pchMessage);
+ EVRDebugError (OPENVR_FNTABLE_CALLTYPE *BeginVrProfilerEvent)(VrProfilerEventHandle_t * pHandleOut);
+ EVRDebugError (OPENVR_FNTABLE_CALLTYPE *FinishVrProfilerEvent)(VrProfilerEventHandle_t hHandle, char * pchMessage);
+ uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize);
+};
+
#if 0
// Global entry points
diff --git a/headers/openvr_driver.h b/headers/openvr_driver.h
index 960042e..26a76fd 100644
--- a/headers/openvr_driver.h
+++ b/headers/openvr_driver.h
@@ -15,8 +15,8 @@
namespace vr
{
static const uint32_t k_nSteamVRVersionMajor = 1;
- static const uint32_t k_nSteamVRVersionMinor = 4;
- static const uint32_t k_nSteamVRVersionBuild = 18;
+ static const uint32_t k_nSteamVRVersionMinor = 5;
+ static const uint32_t k_nSteamVRVersionBuild = 17;
} // namespace vr
// vrtypes.h
@@ -354,6 +354,7 @@ enum ETrackedDeviceProperty
Prop_BootloaderVersion_Uint64 = 1044,
Prop_AdditionalSystemReportData_String = 1045, // additional string to include in system reports about a tracked device
Prop_CompositeFirmwareVersion_String = 1046, // additional FW components from a device that gets propagated into reports
+ Prop_Firmware_RemindUpdate_Bool = 1047,
// Properties that are unique to TrackedDeviceClass_HMD
Prop_ReportsTimeSinceVSync_Bool = 2000,
@@ -408,7 +409,7 @@ enum ETrackedDeviceProperty
Prop_NamedIconPathControllerLeftDeviceOff_String = 2051, // placeholder icon for "left" controller if not yet detected/loaded
Prop_NamedIconPathControllerRightDeviceOff_String = 2052, // placeholder icon for "right" controller if not yet detected/loaded
Prop_NamedIconPathTrackingReferenceDeviceOff_String = 2053, // placeholder icon for sensor/base if not yet detected/loaded
- Prop_DoNotApplyPrediction_Bool = 2054,
+ Prop_DoNotApplyPrediction_Bool = 2054, // currently no effect. was used to disable HMD pose prediction on MR, which is now done by MR driver setting velocity=0
Prop_CameraToHeadTransforms_Matrix34_Array = 2055,
Prop_DistortionMeshResolution_Int32 = 2056, // custom resolution of compositor calls to IVRSystem::ComputeDistortion
Prop_DriverIsDrawingControllers_Bool = 2057,
@@ -429,6 +430,9 @@ enum ETrackedDeviceProperty
Prop_CameraDistortionFunction_Int32_Array = 2072, // Prop_NumCameras_Int32-sized array of vr::EVRDistortionFunctionType values (max size is vr::k_unMaxCameras)
Prop_CameraDistortionCoefficients_Float_Array = 2073, // Prop_NumCameras_Int32-sized array of double[vr::k_unMaxDistortionFunctionParameters] (max size is vr::k_unMaxCameras)
Prop_ExpectedControllerType_String = 2074,
+ Prop_HmdTrackingStyle_Int32 = 2075, // one of EHmdTrackingStyle
+ Prop_DriverProvidedChaperoneVisibility_Bool = 2076,
+
Prop_DisplayAvailableFrameRates_Float_Array = 2080, // populated by compositor from actual EDID list when available from GPU driver
Prop_DisplaySupportsMultipleFramerates_Bool = 2081, // if this is true but Prop_DisplayAvailableFrameRates_Float_Array is empty, explain to user
@@ -527,6 +531,15 @@ enum ETrackedPropertyError
TrackedProp_IPCReadFailure = 13,
};
+/** Used to drive certain text in the UI when talking about the tracking system for the HMD */
+enum EHmdTrackingStyle
+{
+ HmdTrackingStyle_Unknown = 0,
+
+ HmdTrackingStyle_Lighthouse = 1, // base stations and lasers
+ HmdTrackingStyle_OutsideInCameras = 2, // Cameras and LED, Rift 1 style
+ HmdTrackingStyle_InsideOutCameras = 3, // Cameras on HMD looking at the world
+};
typedef uint64_t VRActionHandle_t;
typedef uint64_t VRActionSetHandle_t;
@@ -1110,6 +1123,7 @@ enum EShowUIType
// ShowUI_QuickStart = 2, // Deprecated
ShowUI_Pairing = 3,
ShowUI_Settings = 4,
+ ShowUI_DebugCommands = 5,
};
struct VREvent_ShowUI_t
@@ -1625,6 +1639,8 @@ enum EVRInitError
VRInitError_Compositor_CreateTextIndexBuffer = 482,
VRInitError_Compositor_CreateMirrorTextures = 483,
VRInitError_Compositor_CreateLastFrameRenderTexture = 484,
+ VRInitError_Compositor_CreateMirrorOverlay = 485,
+ VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer = 486,
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
VRInitError_VendorSpecific_WindowsNotInDevMode = 1001,
@@ -1642,6 +1658,7 @@ enum EVRInitError
VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111,
VRInitError_VendorSpecific_HmdFound_UserDataError = 1112,
VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
+ VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114,
VRInitError_Steam_SteamInstallationNotFound = 2000,
@@ -2261,6 +2278,7 @@ namespace vr
//-----------------------------------------------------------------------------
// driver keys - These could be checked in any driver_<name> section
static const char * const k_pch_Driver_Enable_Bool = "enable";
+ static const char * const k_pch_Driver_LoadPriority_Int32 = "loadPriority";
//-----------------------------------------------------------------------------
// web interface keys
@@ -3415,6 +3433,8 @@ public:
virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
virtual DriverHandle_t GetDriverHandle( const char *pchDriverName ) = 0;
+
+ virtual bool IsEnabled( vr::DriverId_t nDriver ) const = 0;
};
static const char * const IVRDriverManager_Version = "IVRDriverManager_001";
diff --git a/lib/linux32/libopenvr_api.so b/lib/linux32/libopenvr_api.so
index 79b4e11..d728f4c 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 fea27b3..2352031 100755
--- a/lib/linux64/libopenvr_api.so
+++ b/lib/linux64/libopenvr_api.so
Binary files differ
diff --git a/samples/bin/linux64/libopenvr_api.so b/samples/bin/linux64/libopenvr_api.so
index b5db2f0..8d894cf 100644
--- a/samples/bin/linux64/libopenvr_api.so
+++ b/samples/bin/linux64/libopenvr_api.so
Binary files differ
diff --git a/samples/bin/osx32/libopenvr_api.dylib b/samples/bin/osx32/libopenvr_api.dylib
index 8a2df47..aa0ac95 100644
--- a/samples/bin/osx32/libopenvr_api.dylib
+++ b/samples/bin/osx32/libopenvr_api.dylib
Binary files differ
diff --git a/samples/bin/win32/openvr_api.dll b/samples/bin/win32/openvr_api.dll
index 4f5bdf1..9d8ce6e 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 3b05986..86f697b 100644
--- a/samples/bin/win64/openvr_api.dll
+++ b/samples/bin/win64/openvr_api.dll
Binary files differ
diff --git a/src/vrcommon/hmderrors_public.cpp b/src/vrcommon/hmderrors_public.cpp
index 5b0ec64..dcc9857 100644
--- a/src/vrcommon/hmderrors_public.cpp
+++ b/src/vrcommon/hmderrors_public.cpp
@@ -91,6 +91,7 @@ const char *GetEnglishStringForHmdError( vr::EVRInitError eError )
// Oculus
case VRInitError_VendorSpecific_UnableToConnectToOculusRuntime: return "Unable to connect to Oculus Runtime (1000)";
+ case VRInitError_VendorSpecific_OculusRuntimeBadInstall: return "Unable to connect to Oculus Runtime, possible bad install (1114)";
// Lighthouse
case VRInitError_VendorSpecific_HmdFound_CantOpenDevice: return "HMD found, but can not open device (1101)";
@@ -279,10 +280,13 @@ const char *GetIDForVRInitError( vr::EVRInitError eError )
RETURN_ENUM_AS_STRING( VRInitError_Compositor_CreateTextIndexBuffer );
RETURN_ENUM_AS_STRING( VRInitError_Compositor_CreateMirrorTextures );
RETURN_ENUM_AS_STRING( VRInitError_Compositor_CreateLastFrameRenderTexture );
+ RETURN_ENUM_AS_STRING( VRInitError_Compositor_CreateMirrorOverlay );
+ RETURN_ENUM_AS_STRING( VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer );
// Vendor-specific errors
RETURN_ENUM_AS_STRING( VRInitError_VendorSpecific_UnableToConnectToOculusRuntime);
RETURN_ENUM_AS_STRING( VRInitError_VendorSpecific_WindowsNotInDevMode );
+ RETURN_ENUM_AS_STRING( VRInitError_VendorSpecific_OculusRuntimeBadInstall );
// Lighthouse
RETURN_ENUM_AS_STRING( VRInitError_VendorSpecific_HmdFound_CantOpenDevice);