Skip to content

Commit

Permalink
**OpenVR SDK 1.9.16**
Browse files Browse the repository at this point in the history
IVRDriverInput:

* Added TrackedControllerRole_Stylus, which allows a device to appear as /user/stylus in the binding system.

IVRSettings:

* Removed sync function. Saving of settings is controlled automatically by the system now. All existing calls to Sync can be deleted. Calls to sync using old APIs do nothing.

IVRCompositor:

* Added the ability for apps to skin the construct during loading transitions using a single model (limit 65k vertices) and a single texture (rendered unlit).  See https://github.com/ValveSoftware/openvr/wiki/Compositor-Skinning for details.

IVROverlay:

* Added transform types for dashboard tabs and dashboard thumbs. These no longer use absolute transforms, so they no longer have getters for their transforms.
* Added SetOverlayTransformCursor, which will set an overlay's transform to "cursor", which means it will be centered around its hotspot and automatically positioned by the laser mouse system.
* Added GetOverlayTransformCursor in case an application needs to read back the cursor hotspot of a cursor.
* Added SetOverlayCursor, which allows an overlay to specify which cursor overlay should be used whenever the laser mouse is pointed at that overlay. The desktop overlay uses this to show custom cursors based on context.
* Added SetOverlayCursorPositionOverride, which lets an overlay set the position to show its cursor at a position that is independent from where the laser mouse is pointing. The desktop overlay uses this to allow the physical mouse to override the laser mouse.
* Added ClearOverlayCursorPositionOverride, which clears any cursor position override on the overlay and returns it to using the laser mouse position.
* Added TriggerLaserMouseHapticVibration, which will trigger a haptic vibration on the laser mouse device in the context of a particular transform.

[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5586053]
  • Loading branch information
JoeLudwig authored and jeremyselan committed Jan 7, 2020
1 parent 176b58f commit 39205f6
Show file tree
Hide file tree
Showing 25 changed files with 621 additions and 241 deletions.
Binary file modified bin/linux32/libopenvr_api.so
Binary file not shown.
Binary file modified bin/linux32/libopenvr_api.so.dbg
Binary file not shown.
Binary file modified bin/linux64/libopenvr_api.so
Binary file not shown.
Binary file modified bin/linux64/libopenvr_api.so.dbg
Binary file not shown.
Binary file modified bin/win32/openvr_api.dll
Binary file not shown.
Binary file modified bin/win32/openvr_api.dll.sig
Binary file not shown.
Binary file modified bin/win32/openvr_api.pdb
Binary file not shown.
Binary file modified bin/win64/openvr_api.dll
Binary file not shown.
Binary file modified bin/win64/openvr_api.dll.sig
Binary file not shown.
Binary file modified bin/win64/openvr_api.pdb
Binary file not shown.
130 changes: 101 additions & 29 deletions headers/openvr.h

Large diffs are not rendered by default.

190 changes: 150 additions & 40 deletions headers/openvr_api.cs

Large diffs are not rendered by default.

180 changes: 142 additions & 38 deletions headers/openvr_api.json

Large diffs are not rendered by default.

66 changes: 56 additions & 10 deletions headers/openvr_capi.h

Large diffs are not rendered by default.

80 changes: 47 additions & 33 deletions headers/openvr_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
namespace vr
{
static const uint32_t k_nSteamVRVersionMajor = 1;
static const uint32_t k_nSteamVRVersionMinor = 8;
static const uint32_t k_nSteamVRVersionBuild = 19;
static const uint32_t k_nSteamVRVersionMinor = 9;
static const uint32_t k_nSteamVRVersionBuild = 16;
} // namespace vr

// vrtypes.h
Expand Down Expand Up @@ -207,6 +207,7 @@ enum ETrackedControllerRole
TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand
TrackedControllerRole_OptOut = 3, // Tracked device is opting out of left/right hand selection
TrackedControllerRole_Treadmill = 4, // Tracked device is a treadmill
TrackedControllerRole_Stylus = 5, // Tracked device is a stylus
TrackedControllerRole_Max = 5
};

Expand Down Expand Up @@ -276,6 +277,7 @@ static const PropertyTypeTag_t k_unInt32PropertyTag = 2;
static const PropertyTypeTag_t k_unUint64PropertyTag = 3;
static const PropertyTypeTag_t k_unBoolPropertyTag = 4;
static const PropertyTypeTag_t k_unStringPropertyTag = 5;
static const PropertyTypeTag_t k_unErrorPropertyTag = 6;

static const PropertyTypeTag_t k_unHmdMatrix34PropertyTag = 20;
static const PropertyTypeTag_t k_unHmdMatrix44PropertyTag = 21;
Expand Down Expand Up @@ -355,6 +357,10 @@ enum ETrackedDeviceProperty
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,
Prop_PeripheralApplicationVersion_Uint64 = 1048,
Prop_ManufacturerSerialNumber_String = 1049,
Prop_ComputedSerialNumber_String = 1050,
Prop_EstimatedDeviceFirstUseTime_Int32 = 1051,

// Properties that are unique to TrackedDeviceClass_HMD
Prop_ReportsTimeSinceVSync_Bool = 2000,
Expand Down Expand Up @@ -432,13 +438,17 @@ enum ETrackedDeviceProperty
Prop_ExpectedControllerType_String = 2074,
Prop_HmdTrackingStyle_Int32 = 2075, // one of EHmdTrackingStyle
Prop_DriverProvidedChaperoneVisibility_Bool = 2076,
Prop_HmdProvidesDisplaySettings_Bool = 2077,

Prop_HmdColumnCorrectionSettingPrefix_String = 2077,
Prop_CameraSupportsCompatibilityModes_Bool = 2078,

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
Prop_DisplayColorMultLeft_Vector3 = 2082,
Prop_DisplayColorMultRight_Vector3 = 2083,
Prop_DisplaySupportsRuntimeFramerateChange_Bool = 2084,
Prop_DisplaySupportsAnalogGain_Bool = 2085,
Prop_DisplayMinAnalogGain_Float = 2086,
Prop_DisplayMaxAnalogGain_Float = 2087,

Prop_DashboardLayoutPathName_String = 2090,
Prop_DashboardScale_Float = 2091,
Expand Down Expand Up @@ -541,6 +551,8 @@ enum ETrackedPropertyError
TrackedProp_InvalidOperation = 11,
TrackedProp_CannotWriteToWildcards = 12,
TrackedProp_IPCReadFailure = 13,
TrackedProp_OutOfMemory = 14,
TrackedProp_InvalidContainer = 15,
};

/** Used to drive certain text in the UI when talking about the tracking system for the HMD */
Expand Down Expand Up @@ -796,6 +808,7 @@ enum EVREventType
VREvent_TrackersSectionSettingChanged = 866,
VREvent_LastKnownSectionSettingChanged = 867,
VREvent_DismissedWarningsSectionSettingChanged = 868,
VREvent_GpuSpeedSectionSettingChanged = 869,

VREvent_StatusUpdate = 900,

Expand Down Expand Up @@ -830,6 +843,7 @@ enum EVREventType
VREvent_Compositor_ApplicationResumed = 1416,
VREvent_Compositor_OutOfVideoMemory = 1417,
VREvent_Compositor_DisplayModeNotSupported = 1418, // k_pch_SteamVR_PreferredRefreshRate
VREvent_Compositor_StageOverrideReady = 1419,

VREvent_TrackedCamera_StartVideoStream = 1500,
VREvent_TrackedCamera_StopVideoStream = 1501,
Expand All @@ -852,6 +866,7 @@ enum EVREventType
VREvent_Input_ProgressUpdate = 1705, // data is progressUpdate
VREvent_Input_TrackerActivated = 1706,
VREvent_Input_BindingsUpdated = 1707,
VREvent_Input_BindingSubscriptionChanged = 1708,

VREvent_SpatialAnchors_PoseUpdated = 1800, // data is spatialAnchor. broadcast
VREvent_SpatialAnchors_DescriptorUpdated = 1801, // data is spatialAnchor. broadcast
Expand Down Expand Up @@ -1143,6 +1158,7 @@ enum EShowUIType
ShowUI_Pairing = 3,
ShowUI_Settings = 4,
ShowUI_DebugCommands = 5,
ShowUI_FullControllerBinding = 6,
};

struct VREvent_ShowUI_t
Expand Down Expand Up @@ -1971,30 +1987,30 @@ enum ECameraVideoStreamFormat
enum ECameraCompatibilityMode
{
CAMERA_COMPAT_MODE_BULK_DEFAULT = 0,
CAMERA_COMPAT_MODE_BULK_64K_DMA,
CAMERA_COMPAT_MODE_BULK_16K_DMA,
CAMERA_COMPAT_MODE_BULK_8K_DMA,
CAMERA_COMPAT_MODE_ISO_52FPS,
CAMERA_COMPAT_MODE_ISO_50FPS,
CAMERA_COMPAT_MODE_ISO_48FPS,
CAMERA_COMPAT_MODE_ISO_46FPS,
CAMERA_COMPAT_MODE_ISO_44FPS,
CAMERA_COMPAT_MODE_ISO_42FPS,
CAMERA_COMPAT_MODE_ISO_40FPS,
CAMERA_COMPAT_MODE_ISO_35FPS,
CAMERA_COMPAT_MODE_ISO_30FPS,
CAMERA_COMPAT_MODE_ISO_15FPS,
CAMERA_COMPAT_MODE_BULK_64K_DMA = 1,
CAMERA_COMPAT_MODE_BULK_16K_DMA = 2,
CAMERA_COMPAT_MODE_BULK_8K_DMA = 3,
CAMERA_COMPAT_MODE_ISO_52FPS = 4,
CAMERA_COMPAT_MODE_ISO_50FPS = 5,
CAMERA_COMPAT_MODE_ISO_48FPS = 6,
CAMERA_COMPAT_MODE_ISO_46FPS = 7,
CAMERA_COMPAT_MODE_ISO_44FPS = 8,
CAMERA_COMPAT_MODE_ISO_42FPS = 9,
CAMERA_COMPAT_MODE_ISO_40FPS = 10,
CAMERA_COMPAT_MODE_ISO_35FPS = 11,
CAMERA_COMPAT_MODE_ISO_30FPS = 12,
CAMERA_COMPAT_MODE_ISO_15FPS = 13,
MAX_CAMERA_COMPAT_MODES
};

enum ETrackedCameraRoomViewMode
{
TRACKED_CAMERA_ROOMVIEW_MODE_DEFAULT = 0,
TRACKED_CAMERA_ROOMVIEW_MODE_EDGE_A,
TRACKED_CAMERA_ROOMVIEW_MODE_EDGE_B,
TRACKED_CAMERA_ROOMVIEW_MODE_VIDEO_TRANSLUSCENT,
TRACKED_CAMERA_ROOMVIEW_MODE_VIDEO_OPAQUE,
TRACKED_CAMERA_ROOMVIEW_MODE_COUNT,
TRACKED_CAMERA_ROOMVIEW_MODE_EDGE_A = 1,
TRACKED_CAMERA_ROOMVIEW_MODE_EDGE_B = 2,
TRACKED_CAMERA_ROOMVIEW_MODE_VIDEO_TRANSLUSCENT = 3,
TRACKED_CAMERA_ROOMVIEW_MODE_VIDEO_OPAQUE = 4,
TRACKED_CAMERA_ROOMVIEW_MODE_COUNT = 5,
};

#ifdef _MSC_VER
Expand Down Expand Up @@ -2074,9 +2090,6 @@ namespace vr
public:
virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0;

// Returns true if file sync occurred (force or settings dirty)
virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0;

virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0;
virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0;
virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0;
Expand All @@ -2094,7 +2107,7 @@ namespace vr
};

//-----------------------------------------------------------------------------
static const char * const IVRSettings_Version = "IVRSettings_002";
static const char * const IVRSettings_Version = "IVRSettings_003";

class CVRSettingHelper
{
Expand All @@ -2110,12 +2123,6 @@ namespace vr
return m_pSettings->GetSettingsErrorNameFromEnum( eError );
}

// Returns true if file sync occurred (force or settings dirty)
bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr )
{
return m_pSettings->Sync( bForce, peError );
}

void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr )
{
m_pSettings->SetBool( pchSection, pchSettingsKey, bValue, peError );
Expand Down Expand Up @@ -2218,6 +2225,7 @@ namespace vr
static const char * const k_pch_SteamVR_MirrorViewEye_Int32 = "mirrorViewEye";
static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
static const char * const k_pch_SteamVR_MirrorViewGeometryMaximized_String = "mirrorViewGeometryMaximized";
static const char * const k_pch_SteamVR_PerfGraphVisibility_Bool = "showPerfGraph";
static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
Expand All @@ -2232,7 +2240,6 @@ namespace vr
static const char * const k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode";
static const char * const k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver";
static const char * const k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor";
static const char * const k_pch_SteamVR_DebugInput = "debugInput";
static const char * const k_pch_SteamVR_DebugInputBinding = "debugInputBinding";
static const char * const k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid";
static const char * const k_pch_SteamVR_RenderCameraMode = "renderCameraMode";
Expand Down Expand Up @@ -2382,6 +2389,9 @@ namespace vr
static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
static const char * const k_pch_Dashboard_UseWebKeyboard = "useWebKeyboard";
static const char * const k_pch_Dashboard_UseWebSettings = "useWebSettings";
static const char * const k_pch_Dashboard_Position = "position";
static const char * const k_pch_Dashboard_DesktopScale = "desktopScale";
static const char * const k_pch_Dashboard_DashboardScale = "dashboardScale";

//-----------------------------------------------------------------------------
// model skin keys
Expand Down Expand Up @@ -2411,6 +2421,7 @@ namespace vr
// per-app keys - the section name for these is the app key itself. Some of these are prefixed by the controller type
static const char* const k_pch_App_BindingAutosaveURLSuffix_String = "AutosaveURL";
static const char* const k_pch_App_BindingCurrentURLSuffix_String = "CurrentURL";
static const char* const k_pch_App_BindingPreviousURLSuffix_String = "PreviousURL";
static const char* const k_pch_App_NeedToUpdateAutosaveSuffix_Bool = "NeedToUpdateAutosave";

//-----------------------------------------------------------------------------
Expand Down Expand Up @@ -2438,6 +2449,9 @@ namespace vr
static const char* const k_pch_Input_RightThumbstickRotation_Float = "rightThumbstickRotation";
static const char* const k_pch_Input_ThumbstickDeadzone_Float = "thumbstickDeadzone";

//-----------------------------------------------------------------------------
// Log of GPU performance
static const char * const k_pch_GpuSpeed_Section = "GpuSpeed";

} // namespace vr

Expand Down
Binary file modified lib/linux32/libopenvr_api.so
Binary file not shown.
Binary file modified lib/linux64/libopenvr_api.so
Binary file not shown.
Binary file modified samples/bin/linux32/libopenvr_api.so
Binary file not shown.
Binary file modified samples/bin/linux64/libopenvr_api.so
Binary file not shown.
Binary file modified samples/bin/win32/openvr_api.dll
Binary file not shown.
Binary file modified samples/bin/win64/openvr_api.dll
Binary file not shown.
2 changes: 1 addition & 1 deletion src/vrcommon/pathtools_public.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -819,7 +819,7 @@ std::string Path_FilePathToUrl( const std::string & sRelativePath, const std::st

size_t unBufferSize = sAbsolute.length() * 3;
char *pchBuffer = (char *)alloca( unBufferSize );
V_URLEncodeNoPlusForSpace( pchBuffer, (int)unBufferSize, sAbsolute.c_str(), (int)sAbsolute.length() );
V_URLEncodeFullPath( pchBuffer, (int)unBufferSize, sAbsolute.c_str(), (int)sAbsolute.length() );

return std::string( FILE_URL_PREFIX ) + pchBuffer;
}
Expand Down

0 comments on commit 39205f6

Please sign in to comment.