From 7027f517983ccaae7d972b7735891bb8244e59fb Mon Sep 17 00:00:00 2001 From: Aaron Leiby Date: Thu, 5 Apr 2018 14:20:38 -0800 Subject: **OpenVR SDK 1.0.14** Tracked Camera * Added property Prop_NumCameras_Int32 for drivers to specify the number of cameras a given headset provides. * Added property Prop_CameraFrameLayout_Int32 for drivers to specify the frame layout of images delivered (use provided EVRTrackedCameraFrameLayout values). IVRVirtualDisplay * Added vsync mode, frame id, and vsync timing data to Present call. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4455565] --- bin/linux32/libopenvr_api.so | Bin 291075 -> 291075 bytes bin/linux32/libopenvr_api.so.dbg | Bin 2089908 -> 2103536 bytes bin/linux64/libopenvr_api.so | Bin 289135 -> 289135 bytes bin/linux64/libopenvr_api.so.dbg | Bin 2594016 -> 2607640 bytes bin/osx32/libopenvr_api.dylib | Bin 306928 -> 306920 bytes .../Contents/Resources/DWARF/libopenvr_api.dylib | Bin 2081117 -> 2082101 bytes bin/win32/openvr_api.dll | Bin 474400 -> 485664 bytes bin/win32/openvr_api.pdb | Bin 9318400 -> 9269248 bytes bin/win64/openvr_api.dll | Bin 598816 -> 600864 bytes bin/win64/openvr_api.pdb | Bin 9146368 -> 9089024 bytes headers/openvr.h | 32 ++++++++++ headers/openvr_api.cs | 27 +++++++++ headers/openvr_api.json | 32 +++++++++- headers/openvr_capi.h | 30 ++++++++++ headers/openvr_driver.h | 66 ++++++++++++++++++++- lib/linux32/libopenvr_api.so | Bin 2080648 -> 2094276 bytes lib/linux64/libopenvr_api.so | Bin 2584544 -> 2598176 bytes lib/win32/openvr_api.lib | Bin 6712 -> 6712 bytes lib/win64/openvr_api.lib | Bin 6606 -> 6606 bytes samples/bin/linux64/libopenvr_api.so | Bin 289135 -> 289135 bytes samples/bin/osx32/libopenvr_api.dylib | Bin 306928 -> 306920 bytes samples/bin/win32/openvr_api.dll | Bin 474400 -> 485664 bytes samples/bin/win64/openvr_api.dll | Bin 598816 -> 600864 bytes samples/hellovr_vulkan/hellovr_vulkan_main.cpp | 32 +--------- src/vrcommon/strtools_public.cpp | 8 +-- src/vrcommon/strtools_public.h | 3 - 26 files changed, 186 insertions(+), 44 deletions(-) diff --git a/bin/linux32/libopenvr_api.so b/bin/linux32/libopenvr_api.so index 01c0b24..32e222a 100755 Binary files a/bin/linux32/libopenvr_api.so and b/bin/linux32/libopenvr_api.so differ diff --git a/bin/linux32/libopenvr_api.so.dbg b/bin/linux32/libopenvr_api.so.dbg index b3885db..4a58f8c 100755 Binary files a/bin/linux32/libopenvr_api.so.dbg and b/bin/linux32/libopenvr_api.so.dbg differ diff --git a/bin/linux64/libopenvr_api.so b/bin/linux64/libopenvr_api.so index 60ea805..a2ae438 100755 Binary files a/bin/linux64/libopenvr_api.so and b/bin/linux64/libopenvr_api.so differ diff --git a/bin/linux64/libopenvr_api.so.dbg b/bin/linux64/libopenvr_api.so.dbg index 29aae11..78f38ca 100755 Binary files a/bin/linux64/libopenvr_api.so.dbg and b/bin/linux64/libopenvr_api.so.dbg differ diff --git a/bin/osx32/libopenvr_api.dylib b/bin/osx32/libopenvr_api.dylib index 9559c69..e8ea3b6 100755 Binary files a/bin/osx32/libopenvr_api.dylib and b/bin/osx32/libopenvr_api.dylib 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 b59626c..13fae3f 100644 Binary files a/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib and b/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib differ diff --git a/bin/win32/openvr_api.dll b/bin/win32/openvr_api.dll index 7f7f5eb..b686939 100644 Binary files a/bin/win32/openvr_api.dll and b/bin/win32/openvr_api.dll differ diff --git a/bin/win32/openvr_api.pdb b/bin/win32/openvr_api.pdb index 397eba9..28b3bfb 100644 Binary files a/bin/win32/openvr_api.pdb and b/bin/win32/openvr_api.pdb differ diff --git a/bin/win64/openvr_api.dll b/bin/win64/openvr_api.dll index 6ae4795..64c879b 100644 Binary files a/bin/win64/openvr_api.dll and b/bin/win64/openvr_api.dll differ diff --git a/bin/win64/openvr_api.pdb b/bin/win64/openvr_api.pdb index 1b007cc..2c9279e 100644 Binary files a/bin/win64/openvr_api.pdb and b/bin/win64/openvr_api.pdb differ diff --git a/headers/openvr.h b/headers/openvr.h index 124636b..f79db7a 100644 --- a/headers/openvr.h +++ b/headers/openvr.h @@ -176,6 +176,7 @@ enum ETrackedControllerRole TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand TrackedControllerRole_OptOut = 3, // Tracked device is opting out of left/right hand selection + TrackedControllerRole_Max = 4 }; @@ -202,6 +203,9 @@ enum ETrackingUniverseOrigin TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. }; +typedef uint64_t WebConsoleHandle_t; +#define INVALID_WEB_CONSOLE_HANDLE ((vr::WebConsoleHandle_t)0) + // Refers to a single container of properties typedef uint64_t PropertyContainerHandle_t; typedef uint32_t PropertyTypeTag_t; @@ -281,6 +285,8 @@ enum ETrackedDeviceProperty Prop_RegisteredDeviceType_String = 1036, Prop_InputProfilePath_String = 1037, // input profile to use for this device in the input system. Will default to tracking system name if this isn't provided Prop_NeverTracked_Bool = 1038, // Used for devices that will never have a valid pose by design + Prop_NumCameras_Int32 = 1039, + Prop_CameraFrameLayout_Int32 = 1040, // EVRTrackedCameraFrameLayout value // Properties that are unique to TrackedDeviceClass_HMD Prop_ReportsTimeSinceVSync_Bool = 2000, @@ -566,6 +572,7 @@ enum EVREventType VREvent_InputFocusChanged = 406, // data is process VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, // data is process + VREvent_ActionBindingReloaded = 409, // data is process - The App that action binds reloaded for VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility @@ -806,6 +813,7 @@ struct VREvent_Process_t struct VREvent_Overlay_t { uint64_t overlayHandle; + uint64_t devicePath; }; @@ -908,6 +916,10 @@ struct VREvent_HapticVibration_t float fAmplitude; }; +struct VREvent_WebConsole_t +{ + WebConsoleHandle_t webConsoleHandle; +}; /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */ typedef union @@ -934,6 +946,7 @@ typedef union VREvent_Property_t property; VREvent_DualAnalog_t dualAnalog; VREvent_HapticVibration_t hapticVibration; + VREvent_WebConsole_t webConsole; } VREvent_Data_t; @@ -1292,6 +1305,14 @@ enum EVRTrackedCameraError VRTrackedCameraError_InvalidFrameBufferSize = 115, }; +enum EVRTrackedCameraFrameLayout +{ + EVRTrackedCameraFrameLayout_Mono = 0x0001, + EVRTrackedCameraFrameLayout_Stereo = 0x0002, + EVRTrackedCameraFrameLayout_VerticalLayout = 0x0010, // Stereo frames are Top/Bottom (left/right) + EVRTrackedCameraFrameLayout_HorizontalLayout = 0x0020, // Stereo frames are Left/Right +}; + enum EVRTrackedCameraFrameType { VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. @@ -1331,6 +1352,13 @@ struct DriverDirectMode_FrameTiming uint32_t m_nReprojectionFlags; }; +enum EVSync +{ + VSync_None, + VSync_WaitRender, // block following render work until vsync + VSync_NoWaitRender, // do not block following render work (allow to get started early) +}; + #pragma pack( pop ) // figure out how to import from the VR API dll @@ -1994,11 +2022,13 @@ namespace vr static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; + static const char * const k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride"; static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; 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_LegacyInputRebinding = "legacyInputRebinding"; //----------------------------------------------------------------------------- // lighthouse keys @@ -2086,6 +2116,7 @@ namespace vr static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; + static const char * const k_pch_Camera_RoomViewMode_Int32 = "cameraRoomViewMode"; //----------------------------------------------------------------------------- // audio keys @@ -2113,6 +2144,7 @@ namespace vr static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; static const char * const k_pch_Dashboard_EnableWebUI = "webUI"; + static const char * const k_pch_Dashboard_EnableWebUIDevTools = "webUIDevTools"; //----------------------------------------------------------------------------- // model skin keys diff --git a/headers/openvr_api.cs b/headers/openvr_api.cs index 2c9fb4a..72ea176 100644 --- a/headers/openvr_api.cs +++ b/headers/openvr_api.cs @@ -3334,6 +3334,7 @@ public enum ETrackedControllerRole LeftHand = 1, RightHand = 2, OptOut = 3, + Max = 4, } public enum ETrackingUniverseOrigin { @@ -3383,6 +3384,8 @@ public enum ETrackedDeviceProperty Prop_RegisteredDeviceType_String = 1036, Prop_InputProfilePath_String = 1037, Prop_NeverTracked_Bool = 1038, + Prop_NumCameras_Int32 = 1039, + Prop_CameraFrameLayout_Int32 = 1040, Prop_ReportsTimeSinceVSync_Bool = 2000, Prop_SecondsFromVsyncToPhotons_Float = 2001, Prop_DisplayFrequency_Float = 2002, @@ -3567,6 +3570,7 @@ public enum EVREventType VREvent_InputFocusChanged = 406, VREvent_SceneApplicationSecondaryRenderingStarted = 407, VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, + VREvent_ActionBindingReloaded = 409, VREvent_HideRenderModels = 410, VREvent_ShowRenderModels = 411, VREvent_ConsoleOpened = 420, @@ -3920,6 +3924,13 @@ public enum EVRTrackedCameraError InvalidArgument = 114, InvalidFrameBufferSize = 115, } +public enum EVRTrackedCameraFrameLayout +{ + Mono = 1, + Stereo = 2, + VerticalLayout = 16, + HorizontalLayout = 32, +} public enum EVRTrackedCameraFrameType { Distorted = 0, @@ -3927,6 +3938,12 @@ public enum EVRTrackedCameraFrameType MaximumUndistorted = 2, MAX_CAMERA_FRAME_TYPES = 3, } +public enum EVSync +{ + None = 0, + WaitRender = 1, + NoWaitRender = 2, +} public enum EVRApplicationError { None = 0, @@ -4167,6 +4184,7 @@ public enum EVRScreenshotError [FieldOffset(0)] public VREvent_Property_t property; [FieldOffset(0)] public VREvent_DualAnalog_t dualAnalog; [FieldOffset(0)] public VREvent_HapticVibration_t hapticVibration; + [FieldOffset(0)] public VREvent_WebConsole_t webConsole; [FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug } @@ -4372,6 +4390,7 @@ public enum EVRScreenshotError [StructLayout(LayoutKind.Sequential)] public struct VREvent_Overlay_t { public ulong overlayHandle; + public ulong devicePath; } [StructLayout(LayoutKind.Sequential)] public struct VREvent_Status_t { @@ -4451,6 +4470,10 @@ public enum EVRScreenshotError public float fFrequency; public float fAmplitude; } +[StructLayout(LayoutKind.Sequential)] public struct VREvent_WebConsole_t +{ + public ulong webConsoleHandle; +} [StructLayout(LayoutKind.Sequential)] public struct VREvent_t { public uint eventType; @@ -4893,11 +4916,13 @@ public class OpenVR public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; + public const string k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride"; public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; public const string k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode"; public const string k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver"; public const string k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor"; public const string k_pch_SteamVR_DebugInput = "debugInput"; + public const string k_pch_SteamVR_LegacyInputRebinding = "legacyInputRebinding"; public const string k_pch_Lighthouse_Section = "driver_lighthouse"; public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; public const string k_pch_Lighthouse_DisableIMUExceptHMD_Bool = "disableimuexcepthmd"; @@ -4961,6 +4986,7 @@ public class OpenVR public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; public const string k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; + public const string k_pch_Camera_RoomViewMode_Int32 = "cameraRoomViewMode"; public const string k_pch_audio_Section = "audio"; public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice"; @@ -4979,6 +5005,7 @@ public class OpenVR public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; public const string k_pch_Dashboard_EnableWebUI = "webUI"; + public const string k_pch_Dashboard_EnableWebUIDevTools = "webUIDevTools"; public const string k_pch_modelskin_Section = "modelskins"; public const string k_pch_Driver_Enable_Bool = "enable"; public const string k_pch_WebInterface_Section = "WebInterface"; diff --git a/headers/openvr_api.json b/headers/openvr_api.json index 05ea66a..b5516b6 100644 --- a/headers/openvr_api.json +++ b/headers/openvr_api.json @@ -4,6 +4,7 @@ ,{"typedef": "vr::SharedTextureHandle_t","type": "uint64_t"} ,{"typedef": "vr::DriverId_t","type": "uint32_t"} ,{"typedef": "vr::TrackedDeviceIndex_t","type": "uint32_t"} +,{"typedef": "vr::WebConsoleHandle_t","type": "uint64_t"} ,{"typedef": "vr::PropertyContainerHandle_t","type": "uint64_t"} ,{"typedef": "vr::PropertyTypeTag_t","type": "uint32_t"} ,{"typedef": "vr::DriverHandle_t","type": "PropertyContainerHandle_t"} @@ -70,6 +71,7 @@ ,{"name": "TrackedControllerRole_LeftHand","value": "1"} ,{"name": "TrackedControllerRole_RightHand","value": "2"} ,{"name": "TrackedControllerRole_OptOut","value": "3"} + ,{"name": "TrackedControllerRole_Max","value": "4"} ]} , {"enumname": "vr::ETrackingUniverseOrigin","values": [ {"name": "TrackingUniverseSeated","value": "0"} @@ -117,6 +119,8 @@ ,{"name": "Prop_RegisteredDeviceType_String","value": "1036"} ,{"name": "Prop_InputProfilePath_String","value": "1037"} ,{"name": "Prop_NeverTracked_Bool","value": "1038"} + ,{"name": "Prop_NumCameras_Int32","value": "1039"} + ,{"name": "Prop_CameraFrameLayout_Int32","value": "1040"} ,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"} ,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"} ,{"name": "Prop_DisplayFrequency_Float","value": "2002"} @@ -297,6 +301,7 @@ ,{"name": "VREvent_InputFocusChanged","value": "406"} ,{"name": "VREvent_SceneApplicationSecondaryRenderingStarted","value": "407"} ,{"name": "VREvent_SceneApplicationUsingWrongGraphicsAdapter","value": "408"} + ,{"name": "VREvent_ActionBindingReloaded","value": "409"} ,{"name": "VREvent_HideRenderModels","value": "410"} ,{"name": "VREvent_ShowRenderModels","value": "411"} ,{"name": "VREvent_ConsoleOpened","value": "420"} @@ -633,12 +638,23 @@ ,{"name": "VRTrackedCameraError_InvalidArgument","value": "114"} ,{"name": "VRTrackedCameraError_InvalidFrameBufferSize","value": "115"} ]} +, {"enumname": "vr::EVRTrackedCameraFrameLayout","values": [ + {"name": "EVRTrackedCameraFrameLayout_Mono","value": "1"} + ,{"name": "EVRTrackedCameraFrameLayout_Stereo","value": "2"} + ,{"name": "EVRTrackedCameraFrameLayout_VerticalLayout","value": "16"} + ,{"name": "EVRTrackedCameraFrameLayout_HorizontalLayout","value": "32"} +]} , {"enumname": "vr::EVRTrackedCameraFrameType","values": [ {"name": "VRTrackedCameraFrameType_Distorted","value": "0"} ,{"name": "VRTrackedCameraFrameType_Undistorted","value": "1"} ,{"name": "VRTrackedCameraFrameType_MaximumUndistorted","value": "2"} ,{"name": "MAX_CAMERA_FRAME_TYPES","value": "3"} ]} +, {"enumname": "vr::EVSync","values": [ + {"name": "VSync_None","value": "0"} + ,{"name": "VSync_WaitRender","value": "1"} + ,{"name": "VSync_NoWaitRender","value": "2"} +]} , {"enumname": "vr::EVRApplicationError","values": [ {"name": "VRApplicationError_None","value": "0"} ,{"name": "VRApplicationError_AppKeyAlreadyExists","value": "100"} @@ -1030,6 +1046,8 @@ "constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"} ,{ "constname": "k_pch_SteamVR_AllowSupersampleFiltering_Bool","consttype": "const char *const", "constval": "allowSupersampleFiltering"} +,{ + "constname": "k_pch_SteamVR_SupersampleManualOverride_Bool","consttype": "const char *const", "constval": "supersampleManualOverride"} ,{ "constname": "k_pch_SteamVR_EnableLinuxVulkanAsync_Bool","consttype": "const char *const", "constval": "enableLinuxVulkanAsync"} ,{ @@ -1040,6 +1058,8 @@ "constname": "k_pch_SteamVR_ForceWindows32bitVRMonitor","consttype": "const char *const", "constval": "forceWindows32BitVRMonitor"} ,{ "constname": "k_pch_SteamVR_DebugInput","consttype": "const char *const", "constval": "debugInput"} +,{ + "constname": "k_pch_SteamVR_LegacyInputRebinding","consttype": "const char *const", "constval": "legacyInputRebinding"} ,{ "constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"} ,{ @@ -1166,6 +1186,8 @@ "constname": "k_pch_Camera_BoundsColorGammaA_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaA"} ,{ "constname": "k_pch_Camera_BoundsStrength_Int32","consttype": "const char *const", "constval": "cameraBoundsStrength"} +,{ + "constname": "k_pch_Camera_RoomViewMode_Int32","consttype": "const char *const", "constval": "cameraRoomViewMode"} ,{ "constname": "k_pch_audio_Section","consttype": "const char *const", "constval": "audio"} ,{ @@ -1202,6 +1224,8 @@ "constname": "k_pch_Dashboard_ArcadeMode_Bool","consttype": "const char *const", "constval": "arcadeMode"} ,{ "constname": "k_pch_Dashboard_EnableWebUI","consttype": "const char *const", "constval": "webUI"} +,{ + "constname": "k_pch_Dashboard_EnableWebUIDevTools","consttype": "const char *const", "constval": "webUIDevTools"} ,{ "constname": "k_pch_modelskin_Section","consttype": "const char *const", "constval": "modelskins"} ,{ @@ -1314,7 +1338,8 @@ { "fieldname": "oldPid", "fieldtype": "uint32_t"}, { "fieldname": "bForced", "fieldtype": "_Bool"}]} ,{"struct": "vr::VREvent_Overlay_t","fields": [ -{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}]} +{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}, +{ "fieldname": "devicePath", "fieldtype": "uint64_t"}]} ,{"struct": "vr::VREvent_Status_t","fields": [ { "fieldname": "statusState", "fieldtype": "uint32_t"}]} ,{"struct": "vr::VREvent_Keyboard_t","fields": [ @@ -1362,6 +1387,8 @@ { "fieldname": "fDurationSeconds", "fieldtype": "float"}, { "fieldname": "fFrequency", "fieldtype": "float"}, { "fieldname": "fAmplitude", "fieldtype": "float"}]} +,{"struct": "vr::VREvent_WebConsole_t","fields": [ +{ "fieldname": "webConsoleHandle", "fieldtype": "WebConsoleHandle_t"}]} ,{"struct": "vr::(anonymous)","fields": [ { "fieldname": "reserved", "fieldtype": "struct vr::VREvent_Reserved_t"}, { "fieldname": "controller", "fieldtype": "struct vr::VREvent_Controller_t"}, @@ -1384,7 +1411,8 @@ { "fieldname": "messageOverlay", "fieldtype": "struct vr::VREvent_MessageOverlay_t"}, { "fieldname": "property", "fieldtype": "struct vr::VREvent_Property_t"}, { "fieldname": "dualAnalog", "fieldtype": "struct vr::VREvent_DualAnalog_t"}, -{ "fieldname": "hapticVibration", "fieldtype": "struct vr::VREvent_HapticVibration_t"}]} +{ "fieldname": "hapticVibration", "fieldtype": "struct vr::VREvent_HapticVibration_t"}, +{ "fieldname": "webConsole", "fieldtype": "struct vr::VREvent_WebConsole_t"}]} ,{"struct": "vr::VREvent_t","fields": [ { "fieldname": "eventType", "fieldtype": "uint32_t"}, { "fieldname": "trackedDeviceIndex", "fieldtype": "TrackedDeviceIndex_t"}, diff --git a/headers/openvr_capi.h b/headers/openvr_capi.h index 533ac80..652e535 100644 --- a/headers/openvr_capi.h +++ b/headers/openvr_capi.h @@ -161,11 +161,13 @@ static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBack static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; static const char * k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; +static const char * k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride"; static const char * k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; static const char * k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode"; static const char * k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver"; static const char * k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor"; static const char * k_pch_SteamVR_DebugInput = "debugInput"; +static const char * k_pch_SteamVR_LegacyInputRebinding = "legacyInputRebinding"; static const char * k_pch_Lighthouse_Section = "driver_lighthouse"; static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; static const char * k_pch_Lighthouse_DisableIMUExceptHMD_Bool = "disableimuexcepthmd"; @@ -229,6 +231,7 @@ static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGam static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; static const char * k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; +static const char * k_pch_Camera_RoomViewMode_Int32 = "cameraRoomViewMode"; static const char * k_pch_audio_Section = "audio"; static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice"; @@ -247,6 +250,7 @@ static const char * k_pch_Dashboard_Section = "dashboard"; static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; static const char * k_pch_Dashboard_EnableWebUI = "webUI"; +static const char * k_pch_Dashboard_EnableWebUIDevTools = "webUIDevTools"; static const char * k_pch_modelskin_Section = "modelskins"; static const char * k_pch_Driver_Enable_Bool = "enable"; static const char * k_pch_WebInterface_Section = "WebInterface"; @@ -305,6 +309,7 @@ typedef enum ETrackedControllerRole ETrackedControllerRole_TrackedControllerRole_LeftHand = 1, ETrackedControllerRole_TrackedControllerRole_RightHand = 2, ETrackedControllerRole_TrackedControllerRole_OptOut = 3, + ETrackedControllerRole_TrackedControllerRole_Max = 4, } ETrackedControllerRole; typedef enum ETrackingUniverseOrigin @@ -356,6 +361,8 @@ typedef enum ETrackedDeviceProperty ETrackedDeviceProperty_Prop_RegisteredDeviceType_String = 1036, ETrackedDeviceProperty_Prop_InputProfilePath_String = 1037, ETrackedDeviceProperty_Prop_NeverTracked_Bool = 1038, + ETrackedDeviceProperty_Prop_NumCameras_Int32 = 1039, + ETrackedDeviceProperty_Prop_CameraFrameLayout_Int32 = 1040, ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000, ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, @@ -544,6 +551,7 @@ typedef enum EVREventType EVREventType_VREvent_InputFocusChanged = 406, EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407, EVREventType_VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, + EVREventType_VREvent_ActionBindingReloaded = 409, EVREventType_VREvent_HideRenderModels = 410, EVREventType_VREvent_ShowRenderModels = 411, EVREventType_VREvent_ConsoleOpened = 420, @@ -915,6 +923,14 @@ typedef enum EVRTrackedCameraError EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115, } EVRTrackedCameraError; +typedef enum EVRTrackedCameraFrameLayout +{ + EVRTrackedCameraFrameLayout_Mono = 1, + EVRTrackedCameraFrameLayout_Stereo = 2, + EVRTrackedCameraFrameLayout_VerticalLayout = 16, + EVRTrackedCameraFrameLayout_HorizontalLayout = 32, +} EVRTrackedCameraFrameLayout; + typedef enum EVRTrackedCameraFrameType { EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0, @@ -923,6 +939,13 @@ typedef enum EVRTrackedCameraFrameType EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3, } EVRTrackedCameraFrameType; +typedef enum EVSync +{ + EVSync_VSync_None = 0, + EVSync_VSync_WaitRender = 1, + EVSync_VSync_NoWaitRender = 2, +} EVSync; + typedef enum EVRApplicationError { EVRApplicationError_VRApplicationError_None = 0, @@ -1174,6 +1197,7 @@ typedef uint32_t glUInt_t; typedef uint64_t SharedTextureHandle_t; typedef uint32_t DriverId_t; typedef uint32_t TrackedDeviceIndex_t; +typedef uint64_t WebConsoleHandle_t; typedef uint64_t PropertyContainerHandle_t; typedef uint32_t PropertyTypeTag_t; typedef PropertyContainerHandle_t DriverHandle_t; @@ -1378,6 +1402,7 @@ typedef struct VREvent_Process_t typedef struct VREvent_Overlay_t { uint64_t overlayHandle; + uint64_t devicePath; } VREvent_Overlay_t; typedef struct VREvent_Status_t @@ -1472,6 +1497,11 @@ typedef struct VREvent_HapticVibration_t float fAmplitude; } VREvent_HapticVibration_t; +typedef struct VREvent_WebConsole_t +{ + WebConsoleHandle_t webConsoleHandle; +} VREvent_WebConsole_t; + typedef struct HiddenAreaMesh_t { struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t * diff --git a/headers/openvr_driver.h b/headers/openvr_driver.h index 590619f..0406f85 100644 --- a/headers/openvr_driver.h +++ b/headers/openvr_driver.h @@ -176,6 +176,7 @@ enum ETrackedControllerRole TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand TrackedControllerRole_OptOut = 3, // Tracked device is opting out of left/right hand selection + TrackedControllerRole_Max = 4 }; @@ -202,6 +203,9 @@ enum ETrackingUniverseOrigin TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. }; +typedef uint64_t WebConsoleHandle_t; +#define INVALID_WEB_CONSOLE_HANDLE ((vr::WebConsoleHandle_t)0) + // Refers to a single container of properties typedef uint64_t PropertyContainerHandle_t; typedef uint32_t PropertyTypeTag_t; @@ -281,6 +285,8 @@ enum ETrackedDeviceProperty Prop_RegisteredDeviceType_String = 1036, Prop_InputProfilePath_String = 1037, // input profile to use for this device in the input system. Will default to tracking system name if this isn't provided Prop_NeverTracked_Bool = 1038, // Used for devices that will never have a valid pose by design + Prop_NumCameras_Int32 = 1039, + Prop_CameraFrameLayout_Int32 = 1040, // EVRTrackedCameraFrameLayout value // Properties that are unique to TrackedDeviceClass_HMD Prop_ReportsTimeSinceVSync_Bool = 2000, @@ -566,6 +572,7 @@ enum EVREventType VREvent_InputFocusChanged = 406, // data is process VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, // data is process + VREvent_ActionBindingReloaded = 409, // data is process - The App that action binds reloaded for VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility @@ -806,6 +813,7 @@ struct VREvent_Process_t struct VREvent_Overlay_t { uint64_t overlayHandle; + uint64_t devicePath; }; @@ -908,6 +916,10 @@ struct VREvent_HapticVibration_t float fAmplitude; }; +struct VREvent_WebConsole_t +{ + WebConsoleHandle_t webConsoleHandle; +}; /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */ typedef union @@ -934,6 +946,7 @@ typedef union VREvent_Property_t property; VREvent_DualAnalog_t dualAnalog; VREvent_HapticVibration_t hapticVibration; + VREvent_WebConsole_t webConsole; } VREvent_Data_t; @@ -1292,6 +1305,14 @@ enum EVRTrackedCameraError VRTrackedCameraError_InvalidFrameBufferSize = 115, }; +enum EVRTrackedCameraFrameLayout +{ + EVRTrackedCameraFrameLayout_Mono = 0x0001, + EVRTrackedCameraFrameLayout_Stereo = 0x0002, + EVRTrackedCameraFrameLayout_VerticalLayout = 0x0010, // Stereo frames are Top/Bottom (left/right) + EVRTrackedCameraFrameLayout_HorizontalLayout = 0x0020, // Stereo frames are Left/Right +}; + enum EVRTrackedCameraFrameType { VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. @@ -1331,6 +1352,13 @@ struct DriverDirectMode_FrameTiming uint32_t m_nReprojectionFlags; }; +enum EVSync +{ + VSync_None, + VSync_WaitRender, // block following render work until vsync + VSync_NoWaitRender, // do not block following render work (allow to get started early) +}; + #pragma pack( pop ) // figure out how to import from the VR API dll @@ -1422,6 +1450,16 @@ enum ECameraCompatibilityMode 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, +}; + #ifdef _MSC_VER #define VR_CAMERA_DECL_ALIGN( x ) __declspec( align( x ) ) #else @@ -1563,11 +1601,13 @@ namespace vr static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; + static const char * const k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride"; static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; 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_LegacyInputRebinding = "legacyInputRebinding"; //----------------------------------------------------------------------------- // lighthouse keys @@ -1655,6 +1695,7 @@ namespace vr static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; + static const char * const k_pch_Camera_RoomViewMode_Int32 = "cameraRoomViewMode"; //----------------------------------------------------------------------------- // audio keys @@ -1682,6 +1723,7 @@ namespace vr static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; static const char * const k_pch_Dashboard_EnableWebUI = "webUI"; + static const char * const k_pch_Dashboard_EnableWebUIDevTools = "webUIDevTools"; //----------------------------------------------------------------------------- // model skin keys @@ -2173,6 +2215,8 @@ public: template< typename T> ETrackedPropertyError SetPropertyVector( PropertyContainerHandle_t ulContainer, ETrackedDeviceProperty prop, PropertyTypeTag_t unExpectedTag, std::vector *vecProperties ); + /** Returns true if the specified property is set on the specified container */ + bool IsPropertySet( PropertyContainerHandle_t ulContainer, ETrackedDeviceProperty prop, ETrackedPropertyError *peError = nullptr ); private: template T GetPropertyHelper( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError, T bDefault, PropertyTypeTag_t unTypeTag ); @@ -2437,9 +2481,19 @@ ETrackedPropertyError CVRPropertyHelpers::GetPropertyVector( PropertyContainerHa return err; } +inline bool CVRPropertyHelpers::IsPropertySet( PropertyContainerHandle_t ulContainer, ETrackedDeviceProperty prop, ETrackedPropertyError *peError ) +{ + ETrackedPropertyError error; + GetProperty( ulContainer, prop, nullptr, 0, nullptr, &error ); + if ( peError ) + *peError = error; + return error == TrackedProp_Success || error == TrackedProp_BufferTooSmall; +} + } + // ivrdriverinput.h namespace vr { @@ -2628,6 +2682,14 @@ static const char *IVRWatchdogHost_Version = "IVRWatchdogHost_001"; // ivrvirtualdisplay.h namespace vr { + struct PresentInfo_t + { + SharedTextureHandle_t backbufferTextureHandle; + EVSync vsync; + uint64_t nFrameId; + double flVSyncTimeInSeconds; + }; + // ---------------------------------------------------------------------------------------------- // Purpose: This component is used for drivers that implement a virtual display (e.g. wireless). // ---------------------------------------------------------------------------------------------- @@ -2636,7 +2698,7 @@ namespace vr public: /** Submits final backbuffer for display. */ - virtual void Present( vr::SharedTextureHandle_t backbufferTextureHandle ) = 0; + virtual void Present( const PresentInfo_t *pPresentInfo, uint32_t unPresentInfoSize ) = 0; /** Block until the last presented buffer start scanning out. */ virtual void WaitForPresent() = 0; @@ -2645,7 +2707,7 @@ namespace vr virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; }; - static const char *IVRVirtualDisplay_Version = "IVRVirtualDisplay_001"; + static const char *IVRVirtualDisplay_Version = "IVRVirtualDisplay_002"; /** Returns the current IVRVirtualDisplay pointer or NULL the interface could not be found. */ VR_INTERFACE vr::IVRVirtualDisplay *VR_CALLTYPE VRVirtualDisplay(); diff --git a/lib/linux32/libopenvr_api.so b/lib/linux32/libopenvr_api.so index 65d7c0f..d58dcc9 100755 Binary files a/lib/linux32/libopenvr_api.so and b/lib/linux32/libopenvr_api.so differ diff --git a/lib/linux64/libopenvr_api.so b/lib/linux64/libopenvr_api.so index 58ed73c..e20f53e 100755 Binary files a/lib/linux64/libopenvr_api.so and b/lib/linux64/libopenvr_api.so differ diff --git a/lib/win32/openvr_api.lib b/lib/win32/openvr_api.lib index 52308d4..dd4a203 100644 Binary files a/lib/win32/openvr_api.lib and b/lib/win32/openvr_api.lib differ diff --git a/lib/win64/openvr_api.lib b/lib/win64/openvr_api.lib index 543028b..623f77e 100644 Binary files a/lib/win64/openvr_api.lib and b/lib/win64/openvr_api.lib differ diff --git a/samples/bin/linux64/libopenvr_api.so b/samples/bin/linux64/libopenvr_api.so index 60ea805..a2ae438 100644 Binary files a/samples/bin/linux64/libopenvr_api.so and b/samples/bin/linux64/libopenvr_api.so differ diff --git a/samples/bin/osx32/libopenvr_api.dylib b/samples/bin/osx32/libopenvr_api.dylib index 9559c69..e8ea3b6 100644 Binary files a/samples/bin/osx32/libopenvr_api.dylib and b/samples/bin/osx32/libopenvr_api.dylib differ diff --git a/samples/bin/win32/openvr_api.dll b/samples/bin/win32/openvr_api.dll index 7f7f5eb..b686939 100644 Binary files a/samples/bin/win32/openvr_api.dll and b/samples/bin/win32/openvr_api.dll differ diff --git a/samples/bin/win64/openvr_api.dll b/samples/bin/win64/openvr_api.dll index 6ae4795..64c879b 100644 Binary files a/samples/bin/win64/openvr_api.dll and b/samples/bin/win64/openvr_api.dll differ diff --git a/samples/hellovr_vulkan/hellovr_vulkan_main.cpp b/samples/hellovr_vulkan/hellovr_vulkan_main.cpp index b8af7ba..b72ce48 100644 --- a/samples/hellovr_vulkan/hellovr_vulkan_main.cpp +++ b/samples/hellovr_vulkan/hellovr_vulkan_main.cpp @@ -55,37 +55,9 @@ enum DescriptorSetIndex_t DESCRIPTOR_SET_COMPANION_LEFT_TEXTURE, DESCRIPTOR_SET_COMPANION_RIGHT_TEXTURE, DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL0, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL1, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL2, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL3, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL4, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL5, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL6, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL7, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL8, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL9, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL10, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL11, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL12, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL13, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL14, - DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL15, + DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL_MAX = DESCRIPTOR_SET_LEFT_EYE_RENDER_MODEL0 + vr::k_unMaxTrackedDeviceCount, DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL0, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL1, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL2, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL3, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL4, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL5, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL6, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL7, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL8, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL9, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL10, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL11, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL12, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL13, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL14, - DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL15, + DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL_MAX = DESCRIPTOR_SET_RIGHT_EYE_RENDER_MODEL0 + vr::k_unMaxTrackedDeviceCount, NUM_DESCRIPTOR_SETS }; diff --git a/src/vrcommon/strtools_public.cpp b/src/vrcommon/strtools_public.cpp index 9c4c99f..46b9c5a 100644 --- a/src/vrcommon/strtools_public.cpp +++ b/src/vrcommon/strtools_public.cpp @@ -144,8 +144,8 @@ std::wstring UTF8to16(const char * in) void strcpy_safe( char *pchBuffer, size_t unBufferSizeBytes, const char *pchSource ) { - pchBuffer[ unBufferSizeBytes - 1 ] = '\0'; strncpy( pchBuffer, pchSource, unBufferSizeBytes - 1 ); + pchBuffer[unBufferSizeBytes - 1] = '\0'; } @@ -199,12 +199,6 @@ uint32_t ReturnStdString( const std::string & sValue, char *pchBuffer, uint32_t return unLen; } -void BufferToStdString( std::string & sDest, const char *pchBuffer, uint32_t unBufferLen ) -{ - sDest.resize( unBufferLen + 1 ); - memcpy( const_cast< char* >( sDest.c_str() ), pchBuffer, unBufferLen ); - const_cast< char* >( sDest.c_str() )[ unBufferLen ] = '\0'; -} /** Returns a std::string from a uint64_t */ std::string Uint64ToString( uint64_t ulValue ) diff --git a/src/vrcommon/strtools_public.h b/src/vrcommon/strtools_public.h index 0d6db35..534735e 100644 --- a/src/vrcommon/strtools_public.h +++ b/src/vrcommon/strtools_public.h @@ -91,9 +91,6 @@ inline uint64_t strtoull(const char *str, char **endptr, int base) { return _str /* Handles copying a std::string into a buffer as would be provided in an API */ uint32_t ReturnStdString( const std::string & sValue, char *pchBuffer, uint32_t unBufferLen ); -/* Handles copying a buffer into an std::string and auto adds null terminator */ -void BufferToStdString( std::string & sDest, const char *pchBuffer, uint32_t unBufferLen ); - /** Returns a std::string from a uint64_t */ std::string Uint64ToString( uint64_t ulValue ); -- cgit v1.2.3