5.8.17 (#701)
* fix recenter behavior * temp fix issues * increment version to dev * Fix autosave profile initialization, fix openxr movement up/down, allow using space fix in openxr state * adjusted logging to reduce spam * removed unused variable * added delay to openxr space drag to improve performance and stop ovr api calls * add logging for debugging issues * improved log verbage * fix wrong fn call error * typemismatch error fix * add default frame bindings * openXR space drag skip frames increased 3->5, performance still not great * remove chaperone universe checking completely, we shouldn't need any features * fix compiler warnings * update version string to rel * fix chaperone moving on recenter, fix log spam * increment version and back to dev * clarify log * change to release * fix openxr space drag issues * remove commented code around openxr * increment version * change how desktop mode displays from URL to steam setting window * updated openvr to 2.15.6 * increment version * moved openxr fix to seated mode * removed calibration state log calls, as without context they aren't particularly useful * increment version 5.8.16 * remove uncessary logging * switch keyboard over to instant input instead of buffered * Fix Edge Cases around keyboard submit, remove permissive compile options * increment version
This commit is contained in:
@@ -1 +1 @@
|
||||
5.8.13-release
|
||||
5.8.17-release
|
||||
|
||||
@@ -9,4 +9,4 @@ warnings_as_errors {
|
||||
QMAKE_CXXFLAGS += /GL
|
||||
|
||||
# Force standards-conformance
|
||||
QMAKE_CXXFLAGS += /permissive-
|
||||
# QMAKE_CXXFLAGS += /permissive-
|
||||
|
||||
@@ -1235,17 +1235,39 @@ void OverlayController::mainEventLoop()
|
||||
LOG( DEBUG ) << "Dashboard deactivated";
|
||||
m_dashboardVisible = false;
|
||||
settings::saveChangedSettings();
|
||||
if(0UL != m_lastTextUID){
|
||||
submitLastTextField(m_lastTextUID);
|
||||
m_lastTextUID = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case vr::VREvent_KeyboardDone:
|
||||
case vr::VREvent_HideKeyboard:
|
||||
{
|
||||
char keyboardBuffer[1024];
|
||||
vr::VROverlay()->GetKeyboardText( keyboardBuffer, 1024 );
|
||||
if(0UL != m_lastTextUID){
|
||||
submitLastTextField(m_lastTextUID);
|
||||
m_lastTextUID = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case vr::VREvent_KeyboardCharInput:
|
||||
{
|
||||
char keyboardBuffer[64];
|
||||
vr::VROverlay()->GetKeyboardText( keyboardBuffer, 64 );
|
||||
emit keyBoardInputSignal( QString( keyboardBuffer ),
|
||||
static_cast<unsigned long>(
|
||||
vrEvent.data.keyboard.uUserValue ) );
|
||||
m_lastTextUID = static_cast<unsigned long>(vrEvent.data.keyboard.uUserValue);
|
||||
}
|
||||
// case vr::VREvent_KeyboardDone:
|
||||
// {
|
||||
// char keyboardBuffer[1024];
|
||||
// vr::VROverlay()->GetKeyboardText( keyboardBuffer, 1024 );
|
||||
// emit keyBoardInputSignal( QString( keyboardBuffer ),
|
||||
// static_cast<unsigned long>(
|
||||
// vrEvent.data.keyboard.uUserValue ) );
|
||||
// }
|
||||
break;
|
||||
|
||||
case vr::VREvent_SeatedZeroPoseReset:
|
||||
@@ -1572,11 +1594,20 @@ const vr::VROverlayHandle_t& OverlayController::overlayThumbnailHandle()
|
||||
void OverlayController::showKeyboard( QString existingText,
|
||||
unsigned long userValue )
|
||||
{
|
||||
// vr::VROverlay()->ShowKeyboardForOverlay(
|
||||
// m_ulOverlayHandle,
|
||||
// vr::k_EGamepadTextInputModeNormal,
|
||||
// vr::k_EGamepadTextInputLineModeSingleLine,
|
||||
// 0,
|
||||
// "Advanced Settings Overlay",
|
||||
// 1024,
|
||||
// existingText.toStdString().c_str(),
|
||||
// userValue );
|
||||
vr::VROverlay()->ShowKeyboardForOverlay(
|
||||
m_ulOverlayHandle,
|
||||
vr::k_EGamepadTextInputModeNormal,
|
||||
vr::k_EGamepadTextInputLineModeSingleLine,
|
||||
0,
|
||||
vr::KeyboardFlag_Modal+vr::KeyboardFlag_Minimal+vr::KeyboardFlag_HideDoneKey,
|
||||
"Advanced Settings Overlay",
|
||||
1024,
|
||||
existingText.toStdString().c_str(),
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
#include <openvr.h>
|
||||
#include <QtCore/QtCore>
|
||||
// because of incompatibilities with QtOpenGL and GLEW we need to cherry pick
|
||||
@@ -131,6 +130,7 @@ private:
|
||||
QString m_updateMessage = "";
|
||||
QString m_optionalMessage = "";
|
||||
QString m_versionCheckText = "";
|
||||
unsigned long m_lastTextUID = 0;
|
||||
|
||||
QUrl m_runtimePathUrl;
|
||||
|
||||
@@ -293,6 +293,7 @@ signals:
|
||||
void autoApplyChaperoneEnabledChanged( bool value );
|
||||
void soundVolumeChanged( double value );
|
||||
void desktopModeToggleChanged( bool value );
|
||||
void submitLastTextField(unsigned long value = 0);
|
||||
};
|
||||
|
||||
} // namespace advsettings
|
||||
|
||||
@@ -5,6 +5,7 @@ import ovras.advsettings 1.0
|
||||
TextField {
|
||||
property int keyBoardUID: 0
|
||||
property string savedText: ""
|
||||
property bool active: false
|
||||
id: myTextField
|
||||
color: "#d9dbe0"
|
||||
text: ""
|
||||
@@ -18,19 +19,25 @@ TextField {
|
||||
}
|
||||
onClicked: {
|
||||
myTextField.forceActiveFocus()
|
||||
active = true;
|
||||
}
|
||||
}
|
||||
onActiveFocusChanged: {
|
||||
if (activeFocus) {
|
||||
active = true;
|
||||
if (!OverlayController.desktopMode) {
|
||||
OverlayController.showKeyboard(text, keyBoardUID)
|
||||
} else {
|
||||
savedText = text
|
||||
}
|
||||
//savedText = text
|
||||
}
|
||||
//When box loses focus apply changes
|
||||
else{
|
||||
myTextField.onInputEvent(text)
|
||||
active = false;
|
||||
}
|
||||
}
|
||||
onEditingFinished: {
|
||||
if (OverlayController.desktopMode && savedText !== text) {
|
||||
if(OverlayController.desktopMode){
|
||||
myTextField.onInputEvent(text)
|
||||
}
|
||||
}
|
||||
@@ -39,11 +46,47 @@ TextField {
|
||||
}
|
||||
Connections {
|
||||
target: OverlayController
|
||||
|
||||
onSubmitLastTextField:{
|
||||
//value here is UID
|
||||
if(value == 0){
|
||||
active = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if(value == keyBoardUID && active == true){
|
||||
myTextField.onInputEvent(text)
|
||||
active = false;
|
||||
}
|
||||
}
|
||||
|
||||
onKeyBoardInputSignal: {
|
||||
if (userValue == keyBoardUID) {
|
||||
if (myTextField.text !== input) {
|
||||
myTextField.onInputEvent(input)
|
||||
if(input == '\b'){
|
||||
myTextField.text = text.slice(0,-1)
|
||||
return
|
||||
}
|
||||
else if(input == '\e'){
|
||||
myTextField.text = text.slice(0,cursorPosition)+text.slice(cursorposition+1)
|
||||
return;
|
||||
}
|
||||
//Execute input
|
||||
else if(input == '\n'){
|
||||
if(!OverlayController.desktopMode){
|
||||
//myTextField.onInputEvent(input)
|
||||
myTextField.focus = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if(input=='\r'){
|
||||
return;
|
||||
}
|
||||
else{
|
||||
myTextField.text = text + input;
|
||||
}
|
||||
//if (myTextField.text !== input) {
|
||||
// myTextField.onInputEvent(input)
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,10 +274,11 @@ void MoveCenterTabController::setTrackingUniverse( int value, bool notify )
|
||||
if ( m_trackingUniverse != value )
|
||||
{
|
||||
vr::VRChaperoneSetup()->HideWorkingSetPreview();
|
||||
if ( !m_roomSetupModeDetected && value == vr::TrackingUniverseStanding )
|
||||
{
|
||||
reset();
|
||||
}
|
||||
//TODO verify
|
||||
// if ( !m_roomSetupModeDetected && value == vr::TrackingUniverseStanding )
|
||||
// {
|
||||
// reset();
|
||||
// }
|
||||
|
||||
m_trackingUniverse = value;
|
||||
if ( notify )
|
||||
@@ -914,20 +915,15 @@ void MoveCenterTabController::incomingZeroReset()
|
||||
// aspects) IN mixed tracking environments I get this issue, the check if
|
||||
// there is an error and apply autosaved profile is hopefully a workaround
|
||||
|
||||
//This should catch OpenXR games, and helps prevent a loop on zero resets.
|
||||
if(m_trackingUniverse==vr::TrackingUniverseRawAndUncalibrated){
|
||||
return;
|
||||
}
|
||||
|
||||
auto calState = vr::VRChaperone()->GetCalibrationState();
|
||||
LOG( INFO ) << "Calibration State on Recenter is: " << calState;
|
||||
//Any Logging should be handled after openXR check to avoid spam;
|
||||
//auto calState = vr::VRChaperone()->GetCalibrationState();
|
||||
//LOG( INFO ) << "Calibration State on Recenter is: " << calState;
|
||||
|
||||
//TODO 8/3/2026 SteamFrame May Need special handling, will discuss With Valve currently
|
||||
//reset zero pose seems to move floor level as well as our changes, requiring 2 resets to set at correct level
|
||||
//or we could potentially not apply our offset during this process
|
||||
float offset[3] = { 0, 0, 0 };
|
||||
offset[1] = -m_offsetY;
|
||||
//TODO set universe center and seated recenter as 0 for this part
|
||||
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
||||
vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose(
|
||||
&m_universeCenterForReset );
|
||||
@@ -939,12 +935,14 @@ void MoveCenterTabController::incomingZeroReset()
|
||||
return;
|
||||
}
|
||||
|
||||
//TODO 9/4/26 This needs to be looked at This moves the chaperone, and seems to do same thing as
|
||||
//zerooffsets....
|
||||
void MoveCenterTabController::reset()
|
||||
{
|
||||
// DO NOT attempt to apply autosaved profile on reset, as it is triggered by
|
||||
// the apply chaperone profile Side effects are bad!
|
||||
auto calState = vr::VRChaperone()->GetCalibrationState();
|
||||
LOG( INFO ) << "Calibration State on Reset is: " << calState;
|
||||
//auto calState = vr::VRChaperone()->GetCalibrationState();
|
||||
//LOG( INFO ) << "Calibration State on Reset is: " << calState;
|
||||
|
||||
if ( !m_chaperoneBasisAcquired )
|
||||
{
|
||||
@@ -1146,7 +1144,7 @@ void MoveCenterTabController::zeroOffsets()
|
||||
m_roomSetupModeDetected = false;
|
||||
}
|
||||
|
||||
LOG( INFO ) << "SUCCESS: Chaperone Data Updated and Offsets zeroed out";
|
||||
//LOG( INFO ) << "SUCCESS: Chaperone Data Updated and Offsets zeroed out";
|
||||
}
|
||||
|
||||
void MoveCenterTabController::sendSeatedRecenter()
|
||||
@@ -1893,8 +1891,9 @@ void MoveCenterTabController::resetOffsets( bool resetOffsetsJustPressed )
|
||||
emit offsetZChanged( m_offsetZ );
|
||||
emit rotationChanged( m_rotation );
|
||||
updateSpace( true );
|
||||
auto calState = vr::VRChaperone()->GetCalibrationState();
|
||||
LOG( INFO ) << "Calibration State on Reset Offsets is: " << calState;
|
||||
|
||||
//auto calState = vr::VRChaperone()->GetCalibrationState();
|
||||
//LOG( INFO ) << "Calibration State on Reset Offsets is: " << calState;
|
||||
|
||||
// if ( calState > 199 && m_initComplete )
|
||||
// {
|
||||
@@ -2623,7 +2622,7 @@ void MoveCenterTabController::updateSpace( bool forceUpdate )
|
||||
}
|
||||
|
||||
// keep the seated origin synced with offsets if in seated mode
|
||||
if ( m_trackingUniverse == vr::TrackingUniverseSeated )
|
||||
if ( m_trackingUniverse == vr::TrackingUniverseSeated || m_trackingUniverse == vr::TrackingUniverseRawAndUncalibrated )
|
||||
{
|
||||
vr::HmdMatrix34_t offsetSeatedCenter;
|
||||
|
||||
@@ -2708,19 +2707,6 @@ void MoveCenterTabController::updateSpace( bool forceUpdate )
|
||||
vr::VRChaperoneSetup()->SetWorkingStandingZeroPoseToRawTrackingPose(
|
||||
&offsetUniverseCenter );
|
||||
|
||||
//openxr
|
||||
//In OpenXR titles commitworkingcopy essentially causes zero resets, this is too much work, and causes lag
|
||||
//As such we will update every third frame for OpenXR titles, this should be reasonably responsive.
|
||||
//We may have to re-visit or make user adjustable
|
||||
if(m_trackingUniverse==vr::TrackingUniverseRawAndUncalibrated){
|
||||
m_openXRSkip++;
|
||||
if(m_openXRSkip % 5==0){
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy(
|
||||
vr::EChaperoneConfigFile_Live );
|
||||
m_openXRSkip = 0;
|
||||
}
|
||||
}
|
||||
//This is what actually throws you into the "working set" instead of live.
|
||||
vr::VRChaperoneSetup()->ShowWorkingSetPreview();
|
||||
|
||||
if ( m_collisionBoundsCountForReset > 0 )
|
||||
|
||||
@@ -507,14 +507,13 @@ void SteamVRTabController::launchBindingUI()
|
||||
LOG( ERROR )
|
||||
<< "failed to get input handle? is your right controller on?";
|
||||
}
|
||||
bool desktopShow = false;
|
||||
if ( parent->isDesktopMode() )
|
||||
{
|
||||
QDesktopServices::openUrl(
|
||||
QUrl( "http://127.0.0.1:27062/dashboard/controllerbinding.html" ) );
|
||||
return;
|
||||
desktopShow = true;
|
||||
}
|
||||
auto error = vr::VRInput()->OpenBindingUI(
|
||||
application_strings::applicationKey, actionHandle, inputHandle, false );
|
||||
application_strings::applicationKey, actionHandle, inputHandle, desktopShow );
|
||||
if ( error != vr::VRInputError_None )
|
||||
{
|
||||
LOG( ERROR ) << "Input Error: " << error;
|
||||
|
||||
Vendored
+14
-2
@@ -8,6 +8,18 @@ and samples. The runtime is under SteamVR in Tools on Steam.
|
||||
|
||||
### Documentation
|
||||
|
||||
Documentation for the API is available on the [Github Wiki](https://github.com/ValveSoftware/openvr/wiki/API-Documentation)
|
||||
#### Application API
|
||||
|
||||
More information on OpenVR and SteamVR can be found on http://steamvr.com
|
||||
Documentation for the Application API is available on
|
||||
the [GitHub Wiki](https://github.com/ValveSoftware/openvr/wiki/API-Documentation).
|
||||
|
||||
#### Driver API
|
||||
|
||||
Current documentation for the Driver API can be found in [docs/Driver_API_Documentation.md](docs/).
|
||||
|
||||
* Old driver API documentation can still be found on
|
||||
the [GitHub Wiki](https://github.com/ValveSoftware/openvr/wiki/Driver-Documentation).
|
||||
|
||||
### About
|
||||
|
||||
More information on OpenVR and SteamVR can be found on https://steamvr.com
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
+507
-66
File diff suppressed because it is too large
Load Diff
+638
-51
File diff suppressed because it is too large
Load Diff
+521
-75
File diff suppressed because it is too large
Load Diff
+266
-19
@@ -74,6 +74,7 @@ typedef double vrshared_double;
|
||||
|
||||
// OpenVR Constants
|
||||
|
||||
static const unsigned long MaxDmabufPlaneCount = 4;
|
||||
static const unsigned long k_nDriverNone = 4294967295;
|
||||
static const unsigned long k_unMaxDriverDebugResponseSize = 32768;
|
||||
static const unsigned long k_unTrackedDeviceIndex_Hmd = 0;
|
||||
@@ -112,25 +113,26 @@ static const unsigned long k_unMaxPropertyStringSize = 32768;
|
||||
static const unsigned long long k_ulInvalidActionHandle = 0;
|
||||
static const unsigned long long k_ulInvalidActionSetHandle = 0;
|
||||
static const unsigned long long k_ulInvalidInputValueHandle = 0;
|
||||
static const unsigned long long k_ulInvalidInputComponentHandle = 0;
|
||||
static const unsigned long k_unControllerStateAxisCount = 5;
|
||||
static const unsigned long long k_ulOverlayHandleInvalid = 0;
|
||||
static const unsigned long k_unMaxDistortionFunctionParameters = 8;
|
||||
static const unsigned long k_unScreenshotHandleInvalid = 0;
|
||||
static const char * IVRSystem_Version = "IVRSystem_022";
|
||||
static const char * IVRSystem_Version = "IVRSystem_026";
|
||||
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_006";
|
||||
static const unsigned long k_unMaxApplicationKeyLength = 128;
|
||||
static const char * k_pch_MimeType_HomeApp = "vr/home";
|
||||
static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
|
||||
static const char * IVRApplications_Version = "IVRApplications_007";
|
||||
static const char * IVRApplications_Version = "IVRApplications_008";
|
||||
static const char * IVRChaperone_Version = "IVRChaperone_004";
|
||||
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_006";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_027";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_029";
|
||||
static const unsigned long k_unVROverlayMaxKeyLength = 128;
|
||||
static const unsigned long k_unVROverlayMaxNameLength = 128;
|
||||
static const unsigned long k_unMaxOverlayCount = 128;
|
||||
static const unsigned long k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
|
||||
static const char * IVROverlay_Version = "IVROverlay_027";
|
||||
static const char * IVROverlay_Version = "IVROverlay_028";
|
||||
static const char * IVROverlayView_Version = "IVROverlayView_003";
|
||||
static const unsigned long k_unHeadsetViewMaxWidth = 3840;
|
||||
static const unsigned long k_unHeadsetViewMaxHeight = 2160;
|
||||
@@ -139,7 +141,10 @@ static const char * IVRHeadsetView_Version = "IVRHeadsetView_001";
|
||||
static const char * k_pch_Controller_Component_GDC2015 = "gdc2015";
|
||||
static const char * k_pch_Controller_Component_Base = "base";
|
||||
static const char * k_pch_Controller_Component_Tip = "tip";
|
||||
static const char * k_pch_Controller_Component_OpenXR_Aim = "openxr_aim";
|
||||
static const char * k_pch_Controller_Component_HandGrip = "handgrip";
|
||||
static const char * k_pch_Controller_Component_OpenXR_Grip = "openxr_grip";
|
||||
static const char * k_pch_Controller_Component_OpenXR_HandModel = "openxr_handmodel";
|
||||
static const char * k_pch_Controller_Component_Status = "status";
|
||||
static const char * IVRRenderModels_Version = "IVRRenderModels_006";
|
||||
static const unsigned long k_unNotificationTextMaxSize = 256;
|
||||
@@ -147,6 +152,7 @@ static const char * IVRNotifications_Version = "IVRNotifications_002";
|
||||
static const unsigned long k_unMaxSettingsKeyLength = 128;
|
||||
static const char * IVRSettings_Version = "IVRSettings_003";
|
||||
static const char * k_pch_SteamVR_Section = "steamvr";
|
||||
static const char * k_pch_SteamVR_Contrast_Float = "contrast";
|
||||
static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd";
|
||||
static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
|
||||
static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
|
||||
@@ -164,6 +170,7 @@ static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRa
|
||||
static const char * k_pch_SteamVR_GridColor_String = "gridColor";
|
||||
static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
|
||||
static const char * k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor";
|
||||
static const char * k_pch_SteamVR_StartColor_String = "startColor";
|
||||
static const char * k_pch_SteamVR_ShowStage_Bool = "showStage";
|
||||
static const char * k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences";
|
||||
static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
|
||||
@@ -176,10 +183,17 @@ static const char * k_pch_SteamVR_SupersampleScale_Float = "supersampleScale";
|
||||
static const char * k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution";
|
||||
static const char * k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing";
|
||||
static const char * k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride";
|
||||
static const char * k_pch_SteamVR_FoveatedSharpening_Bool = "sharpening";
|
||||
static const char * k_pch_SteamVR_FoveatedSharpeningOverride_Int32 = "sharpeningOverride";
|
||||
static const char * k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle";
|
||||
static const char * k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict";
|
||||
static const char * k_pch_SteamVR_WorldScale_Float = "worldScale";
|
||||
static const char * k_pch_SteamVR_FovScale_Int32 = "fovScale";
|
||||
static const char * k_pch_SteamVR_FovScaleInner_Int32 = "fovScaleInner";
|
||||
static const char * k_pch_SteamVR_FovScaleUpper_Int32 = "fovScaleUpper";
|
||||
static const char * k_pch_SteamVR_FovScaleLower_Int32 = "fovScaleLower";
|
||||
static const char * k_pch_SteamVR_FovScaleFormat_Int32 = "fovScaleFormat";
|
||||
static const char * k_pch_SteamVR_FovScaleLetterboxed_Bool = "fovScaleLetterboxed";
|
||||
static const char * k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync";
|
||||
static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
|
||||
static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView";
|
||||
@@ -203,7 +217,6 @@ static const char * k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleM
|
||||
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_DebugInputBinding = "debugInputBinding";
|
||||
static const char * k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid";
|
||||
static const char * k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling";
|
||||
@@ -224,6 +237,10 @@ static const char * k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculu
|
||||
static const char * k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility";
|
||||
static const char * k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode";
|
||||
static const char * k_pch_SteamVR_UsePrism_Bool = "usePrism";
|
||||
static const char * k_pch_SteamVR_AllowFallbackMirrorWindowLinux_Bool = "allowFallbackMirrorWindowLinux";
|
||||
static const char * k_pch_SteamVR_DisableKeyboardPrivacy_Bool = "disableKeyboardPrivacy";
|
||||
static const char * k_pch_OpenXR_Section = "openxr";
|
||||
static const char * k_pch_OpenXR_MetaUnityPluginCompatibility_Int32 = "metaUnityPluginCompatibility";
|
||||
static const char * k_pch_DirectMode_Section = "direct_mode";
|
||||
static const char * k_pch_DirectMode_Enable_Bool = "enable";
|
||||
static const char * k_pch_DirectMode_Count_Int32 = "count";
|
||||
@@ -259,6 +276,8 @@ static const char * k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";
|
||||
static const char * k_pch_UserInterface_HidePopupsWhenStatusMinimized_Bool = "HidePopupsWhenStatusMinimized";
|
||||
static const char * k_pch_UserInterface_Screenshots_Bool = "screenshots";
|
||||
static const char * k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
|
||||
static const char * k_pch_UserInterface_CheckStatusInterval_Int = "vrmStatusCheckInterval";
|
||||
static const char * k_pch_UserInterface_CheckForSteam_Bool = "vrmCheckForSteam";
|
||||
static const char * k_pch_Notifications_Section = "notifications";
|
||||
static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
|
||||
static const char * k_pch_Keyboard_Section = "keyboard";
|
||||
@@ -325,19 +344,24 @@ static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffContro
|
||||
static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
static const char * k_pch_Power_OverrideWindowsPowerScheme_Bool = "overrideWindowsPowerScheme";
|
||||
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_Position = "position";
|
||||
static const char * k_pch_Dashboard_DesktopScale = "desktopScale";
|
||||
static const char * k_pch_Dashboard_DashboardScale = "dashboardScale";
|
||||
static const char * k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer";
|
||||
static const char * k_pch_Dashboard_StickyDashboard = "stickyDashboard";
|
||||
static const char * k_pch_Dashboard_AllowSteamOverlays_Bool = "allowSteamOverlays";
|
||||
static const char * k_pch_Dashboard_AllowVRGamepadUI_Bool = "allowVRGamepadUI";
|
||||
static const char * k_pch_Dashboard_SteamMatchesHMDFramerate = "steamMatchesHMDFramerate";
|
||||
static const char * k_pch_Dashboard_GrabHandleAcceleration = "grabHandleAcceleration";
|
||||
static const char * k_pch_Dashboard_OverlayBacksideColor_String = "overlayBacksideColor";
|
||||
static const char * k_pch_modelskin_Section = "modelskins";
|
||||
static const char * k_pch_Driver_Enable_Bool = "enable";
|
||||
static const char * k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode";
|
||||
static const char * k_pch_Driver_LoadPriority_Int32 = "loadPriority";
|
||||
static const char * k_pch_Driver_Hmd_AllowsClientToControlTextureIndex_Bool = "hmdAllowsClientToControlTextureIndex";
|
||||
static const char * k_pch_Driver_ForceSystemLayerUseAppPoses_Bool = "forceSystemLayerUseAppPoses";
|
||||
static const char * k_pch_WebInterface_Section = "WebInterface";
|
||||
static const char * k_pch_VRWebHelper_Section = "VRWebHelper";
|
||||
static const char * k_pch_VRWebHelper_DebuggerEnabled_Bool = "DebuggerEnabled";
|
||||
@@ -357,12 +381,16 @@ static const char * k_pch_DesktopUI_Section = "DesktopUI";
|
||||
static const char * k_pch_LastKnown_Section = "LastKnown";
|
||||
static const char * k_pch_LastKnown_HMDManufacturer_String = "HMDManufacturer";
|
||||
static const char * k_pch_LastKnown_HMDModel_String = "HMDModel";
|
||||
static const char * k_pch_LastKnown_ActualHMDDriver_String = "ActualHMDDriver";
|
||||
static const char * k_pch_LastKnown_HMDSerialNumber_String = "HMDSerialNumber";
|
||||
static const char * k_pch_LastKnown_HMDRemoteClientID_String = "RemoteClientID";
|
||||
static const char * k_pch_DismissedWarnings_Section = "DismissedWarnings";
|
||||
static const char * k_pch_Input_Section = "input";
|
||||
static const char * k_pch_Input_LeftThumbstickRotation_Float = "leftThumbstickRotation";
|
||||
static const char * k_pch_Input_RightThumbstickRotation_Float = "rightThumbstickRotation";
|
||||
static const char * k_pch_Input_ThumbstickDeadzone_Float = "thumbstickDeadzone";
|
||||
static const char * k_pch_GpuSpeed_Section = "GpuSpeed";
|
||||
static const char * k_pch_XRRenderModelCache_Section = "XRRenderModelUuidCache";
|
||||
static const char * IVRScreenshots_Version = "IVRScreenshots_001";
|
||||
static const char * IVRResources_Version = "IVRResources_001";
|
||||
static const char * IVRDriverManager_Version = "IVRDriverManager_001";
|
||||
@@ -373,12 +401,16 @@ static const unsigned long k_unMaxBoneNameLength = 32;
|
||||
static const int k_nActionSetOverlayGlobalPriorityMin = 16777216;
|
||||
static const int k_nActionSetOverlayGlobalPriorityMax = 33554431;
|
||||
static const int k_nActionSetPriorityReservedMin = 33554432;
|
||||
static const char * IVRInput_Version = "IVRInput_010";
|
||||
static const char * IVRInput_Version = "IVRInput_011";
|
||||
static const unsigned long long k_ulInvalidIOBufferHandle = 0;
|
||||
static const char * IVRIOBuffer_Version = "IVRIOBuffer_002";
|
||||
static const unsigned long k_ulInvalidSpatialAnchorHandle = 0;
|
||||
static const char * IVRSpatialAnchors_Version = "IVRSpatialAnchors_001";
|
||||
static const char * IVRDebug_Version = "IVRDebug_001";
|
||||
static const char * IVRIPCResourceManagerClient_Version = "IVRIPCResourceManagerClient_003";
|
||||
static const unsigned long k_nSteamVRVersionMajor = 2;
|
||||
static const unsigned long k_nSteamVRVersionMinor = 15;
|
||||
static const unsigned long k_nSteamVRVersionBuild = 6;
|
||||
static const unsigned long long k_ulDisplayRedirectContainer = 25769803779;
|
||||
static const char * IVRProperties_Version = "IVRProperties_001";
|
||||
static const char * k_pchPathUserHandRight = "/user/hand/right";
|
||||
@@ -424,7 +456,7 @@ static const char * k_pchPathUserCamera = "/user/camera";
|
||||
static const char * k_pchPathUserKeyboard = "/user/keyboard";
|
||||
static const char * k_pchPathClientAppKey = "/client_info/app_key";
|
||||
static const unsigned long long k_ulInvalidPathHandle = 0;
|
||||
static const char * IVRPaths_Version = "IVRPaths_001";
|
||||
static const char * IVRPaths_Version = "IVRPaths_002";
|
||||
static const char * IVRBlockQueue_Version = "IVRBlockQueue_005";
|
||||
|
||||
// OpenVR Enums
|
||||
@@ -445,6 +477,8 @@ typedef enum ETextureType
|
||||
ETextureType_TextureType_DirectX12 = 4,
|
||||
ETextureType_TextureType_DXGISharedHandle = 5,
|
||||
ETextureType_TextureType_Metal = 6,
|
||||
ETextureType_TextureType_Reserved = 7,
|
||||
ETextureType_TextureType_SharedTextureHandle = 8,
|
||||
} ETextureType;
|
||||
|
||||
typedef enum EColorSpace
|
||||
@@ -558,12 +592,19 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_EstimatedDeviceFirstUseTime_Int32 = 1051,
|
||||
ETrackedDeviceProperty_Prop_DevicePowerUsage_Float = 1052,
|
||||
ETrackedDeviceProperty_Prop_IgnoreMotionForStandby_Bool = 1053,
|
||||
ETrackedDeviceProperty_Prop_ActualTrackingSystemName_String = 1054,
|
||||
ETrackedDeviceProperty_Prop_AllowCameraToggle_Bool = 1055,
|
||||
ETrackedDeviceProperty_Prop_AllowLightSourceFrequency_Bool = 1056,
|
||||
ETrackedDeviceProperty_Prop_SteamRemoteClientID_Uint64 = 1057,
|
||||
ETrackedDeviceProperty_Prop_Reserved_1058 = 1058,
|
||||
ETrackedDeviceProperty_Prop_Reserved_1059 = 1059,
|
||||
ETrackedDeviceProperty_Prop_Reserved_1060 = 1060,
|
||||
ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000,
|
||||
ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001,
|
||||
ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002,
|
||||
ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003,
|
||||
ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004,
|
||||
ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005,
|
||||
ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64_deprecated = 0,
|
||||
ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006,
|
||||
ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007,
|
||||
ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008,
|
||||
@@ -646,10 +687,12 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_CameraExposureTime_Float = 2088,
|
||||
ETrackedDeviceProperty_Prop_CameraGlobalGain_Float = 2089,
|
||||
ETrackedDeviceProperty_Prop_DashboardScale_Float = 2091,
|
||||
ETrackedDeviceProperty_Prop_PeerButtonInfo_String = 2092,
|
||||
ETrackedDeviceProperty_Prop_Hmd_SupportsHDR10_Bool = 2093,
|
||||
ETrackedDeviceProperty_Prop_Hmd_EnableParallelRenderCameras_Bool = 2094,
|
||||
ETrackedDeviceProperty_Prop_DriverProvidedChaperoneJson_String = 2095,
|
||||
ETrackedDeviceProperty_Prop_ForceSystemLayerUseAppPoses_Bool = 2096,
|
||||
ETrackedDeviceProperty_Prop_DashboardLinkSupport_Int32 = 2097,
|
||||
ETrackedDeviceProperty_Prop_DisplayMinUIAnalogGain_Float = 2098,
|
||||
ETrackedDeviceProperty_Prop_IpdUIRangeMinMeters_Float = 2100,
|
||||
ETrackedDeviceProperty_Prop_IpdUIRangeMaxMeters_Float = 2101,
|
||||
ETrackedDeviceProperty_Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102,
|
||||
@@ -658,9 +701,15 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_Hmd_SupportsRoomViewDirect_Bool = 2105,
|
||||
ETrackedDeviceProperty_Prop_Hmd_SupportsAppThrottling_Bool = 2106,
|
||||
ETrackedDeviceProperty_Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107,
|
||||
ETrackedDeviceProperty_Prop_DSCVersion_Int32 = 2110,
|
||||
ETrackedDeviceProperty_Prop_DSCSliceCount_Int32 = 2111,
|
||||
ETrackedDeviceProperty_Prop_DSCBPPx16_Int32 = 2112,
|
||||
ETrackedDeviceProperty_Prop_DriverDisplaysIPDChanges_Bool = 2108,
|
||||
ETrackedDeviceProperty_Prop_Reserved_2110 = 2110,
|
||||
ETrackedDeviceProperty_Prop_Reserved_2111 = 2111,
|
||||
ETrackedDeviceProperty_Prop_Reserved_2112 = 2112,
|
||||
ETrackedDeviceProperty_Prop_Hmd_MaxDistortedTextureWidth_Int32 = 2113,
|
||||
ETrackedDeviceProperty_Prop_Hmd_MaxDistortedTextureHeight_Int32 = 2114,
|
||||
ETrackedDeviceProperty_Prop_Hmd_AllowSupersampleFiltering_Bool = 2115,
|
||||
ETrackedDeviceProperty_Prop_Hmd_AllowsClientToControlTextureIndex = 2116,
|
||||
ETrackedDeviceProperty_Prop_Reserved_2117 = 2117,
|
||||
ETrackedDeviceProperty_Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200,
|
||||
ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201,
|
||||
ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202,
|
||||
@@ -674,6 +723,14 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_Audio_DefaultRecordingDeviceId_String = 2301,
|
||||
ETrackedDeviceProperty_Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302,
|
||||
ETrackedDeviceProperty_Prop_Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303,
|
||||
ETrackedDeviceProperty_Prop_Audio_DriverManagesPlaybackVolumeControl_Bool = 2304,
|
||||
ETrackedDeviceProperty_Prop_Audio_DriverPlaybackVolume_Float = 2305,
|
||||
ETrackedDeviceProperty_Prop_Audio_DriverPlaybackMute_Bool = 2306,
|
||||
ETrackedDeviceProperty_Prop_Audio_DriverManagesRecordingVolumeControl_Bool = 2307,
|
||||
ETrackedDeviceProperty_Prop_Audio_DriverRecordingVolume_Float = 2308,
|
||||
ETrackedDeviceProperty_Prop_Audio_DriverRecordingMute_Bool = 2309,
|
||||
ETrackedDeviceProperty_Prop_Audio_PipewirePlaybackNode_Int32 = 2400,
|
||||
ETrackedDeviceProperty_Prop_Audio_PipewireRecordingNode_Int32 = 2401,
|
||||
ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000,
|
||||
ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
|
||||
ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
|
||||
@@ -713,10 +770,19 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool = 6005,
|
||||
ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool = 6006,
|
||||
ETrackedDeviceProperty_Prop_HasSpatialAnchorsSupport_Bool = 6007,
|
||||
ETrackedDeviceProperty_Prop_SupportsXrTextureSets_Bool = 6008,
|
||||
ETrackedDeviceProperty_Prop_SupportsXrEyeGazeInteraction_Bool = 6009,
|
||||
ETrackedDeviceProperty_Prop_DeviceHasNoIMU_Bool = 6010,
|
||||
ETrackedDeviceProperty_Prop_UseAdvancedPrediction_Bool = 6011,
|
||||
ETrackedDeviceProperty_Prop_ControllerType_String = 7000,
|
||||
ETrackedDeviceProperty_Prop_ControllerHandSelectionPriority_Int32 = 7002,
|
||||
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000,
|
||||
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999,
|
||||
ETrackedDeviceProperty_Prop_Reserved_11000 = 11000,
|
||||
ETrackedDeviceProperty_Prop_Reserved_11001 = 11001,
|
||||
ETrackedDeviceProperty_Prop_Reserved_11002 = 11002,
|
||||
ETrackedDeviceProperty_Prop_Reserved_11003 = 11003,
|
||||
ETrackedDeviceProperty_Prop_Reserved_11004 = 11004,
|
||||
ETrackedDeviceProperty_Prop_TrackedDeviceProperty_Max = 1000000,
|
||||
} ETrackedDeviceProperty;
|
||||
|
||||
@@ -756,11 +822,16 @@ typedef enum EVRSubmitFlags
|
||||
EVRSubmitFlags_Submit_Reserved = 4,
|
||||
EVRSubmitFlags_Submit_TextureWithPose = 8,
|
||||
EVRSubmitFlags_Submit_TextureWithDepth = 16,
|
||||
EVRSubmitFlags_Submit_FrameDiscontinuty = 32,
|
||||
EVRSubmitFlags_Submit_FrameDiscontinuity = 32,
|
||||
EVRSubmitFlags_Submit_VulkanTextureWithArrayData = 64,
|
||||
EVRSubmitFlags_Submit_GlArrayTexture = 128,
|
||||
EVRSubmitFlags_Submit_IsEgl = 256,
|
||||
EVRSubmitFlags_Submit_TextureWithMotion = 536,
|
||||
EVRSubmitFlags_Submit_Reserved2 = 32768,
|
||||
EVRSubmitFlags_Submit_Reserved3 = 65536,
|
||||
EVRSubmitFlags_Submit_Reserved4 = 131072,
|
||||
EVRSubmitFlags_Submit_Reserved5 = 262144,
|
||||
EVRSubmitFlags_Submit_Reserved6 = 524288,
|
||||
} EVRSubmitFlags;
|
||||
|
||||
typedef enum EVRState
|
||||
@@ -793,6 +864,8 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_PropertyChanged = 111,
|
||||
EVREventType_VREvent_WirelessDisconnect = 112,
|
||||
EVREventType_VREvent_WirelessReconnect = 113,
|
||||
EVREventType_VREvent_Reserved_0114 = 114,
|
||||
EVREventType_VREvent_Reserved_0115 = 115,
|
||||
EVREventType_VREvent_ButtonPress = 200,
|
||||
EVREventType_VREvent_ButtonUnpress = 201,
|
||||
EVREventType_VREvent_ButtonTouch = 202,
|
||||
@@ -826,7 +899,6 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_OverlayHidden = 501,
|
||||
EVREventType_VREvent_DashboardActivated = 502,
|
||||
EVREventType_VREvent_DashboardDeactivated = 503,
|
||||
EVREventType_VREvent_DashboardRequested = 505,
|
||||
EVREventType_VREvent_ResetDashboard = 506,
|
||||
EVREventType_VREvent_ImageLoaded = 508,
|
||||
EVREventType_VREvent_ShowKeyboard = 509,
|
||||
@@ -853,6 +925,20 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_StartDashboard = 532,
|
||||
EVREventType_VREvent_ElevatePrism = 533,
|
||||
EVREventType_VREvent_OverlayClosed = 534,
|
||||
EVREventType_VREvent_DashboardThumbChanged = 535,
|
||||
EVREventType_VREvent_DesktopMightBeVisible = 536,
|
||||
EVREventType_VREvent_DesktopMightBeHidden = 537,
|
||||
EVREventType_VREvent_MutualSteamCapabilitiesChanged = 538,
|
||||
EVREventType_VREvent_OverlayCreated = 539,
|
||||
EVREventType_VREvent_OverlayDestroyed = 540,
|
||||
EVREventType_VREvent_OverlayNameChanged = 544,
|
||||
EVREventType_VREvent_TrackingRecordingStarted = 541,
|
||||
EVREventType_VREvent_TrackingRecordingStopped = 542,
|
||||
EVREventType_VREvent_SetTrackingRecordingPath = 543,
|
||||
EVREventType_VREvent_Reserved_0560 = 560,
|
||||
EVREventType_VREvent_Reserved_0561 = 561,
|
||||
EVREventType_VREvent_Reserved_0562 = 562,
|
||||
EVREventType_VREvent_Reserved_0563 = 563,
|
||||
EVREventType_VREvent_Notification_Shown = 600,
|
||||
EVREventType_VREvent_Notification_Hidden = 601,
|
||||
EVREventType_VREvent_Notification_BeginInteraction = 602,
|
||||
@@ -863,6 +949,7 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_DriverRequestedQuit = 704,
|
||||
EVREventType_VREvent_RestartRequested = 705,
|
||||
EVREventType_VREvent_InvalidateSwapTextureSets = 706,
|
||||
EVREventType_VREvent_RequestDisconnectWirelessHMD = 707,
|
||||
EVREventType_VREvent_ChaperoneDataHasChanged = 800,
|
||||
EVREventType_VREvent_ChaperoneUniverseHasChanged = 801,
|
||||
EVREventType_VREvent_ChaperoneTempDataHasChanged = 802,
|
||||
@@ -870,8 +957,14 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_SeatedZeroPoseReset = 804,
|
||||
EVREventType_VREvent_ChaperoneFlushCache = 805,
|
||||
EVREventType_VREvent_ChaperoneRoomSetupStarting = 806,
|
||||
EVREventType_VREvent_ChaperoneRoomSetupFinished = 807,
|
||||
EVREventType_VREvent_ChaperoneRoomSetupCommitted = 807,
|
||||
EVREventType_VREvent_StandingZeroPoseReset = 808,
|
||||
EVREventType_VREvent_Reserved_0809 = 809,
|
||||
EVREventType_VREvent_Reserved_0810 = 810,
|
||||
EVREventType_VREvent_Reserved_0811 = 811,
|
||||
EVREventType_VREvent_Reserved_0812 = 812,
|
||||
EVREventType_VREvent_Reserved_0813 = 813,
|
||||
EVREventType_VREvent_Reserved_0814 = 814,
|
||||
EVREventType_VREvent_AudioSettingsHaveChanged = 820,
|
||||
EVREventType_VREvent_BackgroundSettingHasChanged = 850,
|
||||
EVREventType_VREvent_CameraSettingsHaveChanged = 851,
|
||||
@@ -895,6 +988,8 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_GpuSpeedSectionSettingChanged = 869,
|
||||
EVREventType_VREvent_WindowsMRSectionSettingChanged = 870,
|
||||
EVREventType_VREvent_OtherSectionSettingChanged = 871,
|
||||
EVREventType_VREvent_AnyDriverSettingsChanged = 872,
|
||||
EVREventType_VREvent_Reserved_0873 = 873,
|
||||
EVREventType_VREvent_StatusUpdate = 900,
|
||||
EVREventType_VREvent_WebInterface_InstallDriverCompleted = 950,
|
||||
EVREventType_VREvent_MCImageUpdated = 1000,
|
||||
@@ -903,6 +998,8 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_KeyboardClosed = 1200,
|
||||
EVREventType_VREvent_KeyboardCharInput = 1201,
|
||||
EVREventType_VREvent_KeyboardDone = 1202,
|
||||
EVREventType_VREvent_KeyboardOpened_Global = 1203,
|
||||
EVREventType_VREvent_KeyboardClosed_Global = 1204,
|
||||
EVREventType_VREvent_ApplicationListUpdated = 1303,
|
||||
EVREventType_VREvent_ApplicationMimeTypeLoad = 1304,
|
||||
EVREventType_VREvent_ProcessConnected = 1306,
|
||||
@@ -944,6 +1041,11 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_SystemReport_Started = 1900,
|
||||
EVREventType_VREvent_Monitor_ShowHeadsetView = 2000,
|
||||
EVREventType_VREvent_Monitor_HideHeadsetView = 2001,
|
||||
EVREventType_VREvent_Audio_SetSpeakersVolume = 2100,
|
||||
EVREventType_VREvent_Audio_SetSpeakersMute = 2101,
|
||||
EVREventType_VREvent_Audio_SetMicrophoneVolume = 2102,
|
||||
EVREventType_VREvent_Audio_SetMicrophoneMute = 2103,
|
||||
EVREventType_VREvent_RenderModel_CountChanged = 2200,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
} EVREventType;
|
||||
@@ -1159,6 +1261,7 @@ typedef enum EVRNotificationError
|
||||
EVRNotificationError_VRNotificationError_NotificationQueueFull = 101,
|
||||
EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102,
|
||||
EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103,
|
||||
EVRNotificationError_VRNotificationError_ServiceUnavailable = 104,
|
||||
} EVRNotificationError;
|
||||
|
||||
typedef enum EVRSkeletalMotionRange
|
||||
@@ -1248,6 +1351,8 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_Init_VRDashboardTokenFailure = 165,
|
||||
EVRInitError_VRInitError_Init_VRDashboardEnvironmentFailure = 166,
|
||||
EVRInitError_VRInitError_Init_VRDashboardPathFailure = 167,
|
||||
EVRInitError_VRInitError_Init_InstallationTooOld = 168,
|
||||
EVRInitError_VRInitError_Init_ClientVersionAlreadyProvided = 169,
|
||||
EVRInitError_VRInitError_Driver_Failed = 200,
|
||||
EVRInitError_VRInitError_Driver_Unknown = 201,
|
||||
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
|
||||
@@ -1370,6 +1475,11 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_Compositor_SystemLayerCreateSession = 493,
|
||||
EVRInitError_VRInitError_Compositor_CreateInverseDistortUVs = 494,
|
||||
EVRInitError_VRInitError_Compositor_CreateBackbufferDepth = 495,
|
||||
EVRInitError_VRInitError_Compositor_CannotDRMLeaseDisplay = 496,
|
||||
EVRInitError_VRInitError_Compositor_CannotConnectToDisplayServer = 497,
|
||||
EVRInitError_VRInitError_Compositor_GnomeNoDRMLeasing = 498,
|
||||
EVRInitError_VRInitError_Compositor_FailedToInitializeEncoder = 499,
|
||||
EVRInitError_VRInitError_Compositor_CreateBlurTexture = 500,
|
||||
EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
EVRInitError_VRInitError_VendorSpecific_WindowsNotInDevMode = 1001,
|
||||
EVRInitError_VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002,
|
||||
@@ -1388,6 +1498,10 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
|
||||
EVRInitError_VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114,
|
||||
EVRInitError_VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115,
|
||||
EVRInitError_VRInitError_VendorSpecific_Oasis_UnlockRequired = 1150,
|
||||
EVRInitError_VRInitError_VendorSpecific_VRLink_OutdatedDriverMESA = 1200,
|
||||
EVRInitError_VRInitError_VendorSpecific_VRLink_OutdatedDriverNVIDIA = 1201,
|
||||
EVRInitError_VRInitError_VendorSpecific_VRLink_NoVideoSupport = 1202,
|
||||
EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000,
|
||||
EVRInitError_VRInitError_LastError = 2001,
|
||||
} EVRInitError;
|
||||
@@ -1476,6 +1590,17 @@ typedef enum Imu_OffScaleFlags
|
||||
Imu_OffScaleFlags_OffScale_GyroZ = 32,
|
||||
} Imu_OffScaleFlags;
|
||||
|
||||
typedef enum EVRDistortionChannel
|
||||
{
|
||||
EVRDistortionChannel_Red = 0,
|
||||
EVRDistortionChannel_Green = 1,
|
||||
EVRDistortionChannel_Blue = 2,
|
||||
EVRDistortionChannel_InverseRed = 3,
|
||||
EVRDistortionChannel_InverseGreen = 4,
|
||||
EVRDistortionChannel_InverseBlue = 5,
|
||||
EVRDistortionChannel_Count = 6,
|
||||
} EVRDistortionChannel;
|
||||
|
||||
typedef enum EVRApplicationError
|
||||
{
|
||||
EVRApplicationError_VRApplicationError_None = 0,
|
||||
@@ -1495,6 +1620,7 @@ typedef enum EVRApplicationError
|
||||
EVRApplicationError_VRApplicationError_TransitionAborted = 113,
|
||||
EVRApplicationError_VRApplicationError_IsTemplate = 114,
|
||||
EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115,
|
||||
EVRApplicationError_VRApplicationError_WaitingForChaperone = 116,
|
||||
EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
|
||||
EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
|
||||
EVRApplicationError_VRApplicationError_UnknownProperty = 202,
|
||||
@@ -1513,6 +1639,7 @@ typedef enum EVRApplicationProperty
|
||||
EVRApplicationProperty_VRApplicationProperty_Description_String = 50,
|
||||
EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51,
|
||||
EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52,
|
||||
EVRApplicationProperty_VRApplicationProperty_ImagePathCapsule_String = 55,
|
||||
EVRApplicationProperty_VRApplicationProperty_Source_String = 53,
|
||||
EVRApplicationProperty_VRApplicationProperty_ActionManifestURL_String = 54,
|
||||
EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60,
|
||||
@@ -1575,6 +1702,13 @@ typedef enum EVRCompositorError
|
||||
EVRCompositorError_VRCompositorError_AlreadySet = 110,
|
||||
} EVRCompositorError;
|
||||
|
||||
typedef enum EVRCompositorTextureUsage
|
||||
{
|
||||
EVRCompositorTextureUsage_VRCompositorTextureUsage_Left = 0,
|
||||
EVRCompositorTextureUsage_VRCompositorTextureUsage_Right = 1,
|
||||
EVRCompositorTextureUsage_VRCompositorTextureUsage_Both = 2,
|
||||
} EVRCompositorTextureUsage;
|
||||
|
||||
typedef enum EVRCompositorTimingMode
|
||||
{
|
||||
EVRCompositorTimingMode_VRCompositorTimingMode_Implicit = 0,
|
||||
@@ -1622,7 +1756,13 @@ typedef enum VROverlayFlags
|
||||
VROverlayFlags_WantsModalBehavior = 1048576,
|
||||
VROverlayFlags_IsPremultiplied = 2097152,
|
||||
VROverlayFlags_IgnoreTextureAlpha = 4194304,
|
||||
VROverlayFlags_Reserved = 67108864,
|
||||
VROverlayFlags_EnableControlBar = 8388608,
|
||||
VROverlayFlags_EnableControlBarKeyboard = 16777216,
|
||||
VROverlayFlags_EnableControlBarClose = 33554432,
|
||||
VROverlayFlags_MinimalControlBar = 67108864,
|
||||
VROverlayFlags_EnableClickStabilization = 134217728,
|
||||
VROverlayFlags_MultiCursor = 268435456,
|
||||
VROverlayFlags_NoBackside = 536870912,
|
||||
} VROverlayFlags;
|
||||
|
||||
typedef enum VRMessageOverlayResponse
|
||||
@@ -1659,6 +1799,8 @@ typedef enum EKeyboardFlags
|
||||
{
|
||||
EKeyboardFlags_KeyboardFlag_Minimal = 1,
|
||||
EKeyboardFlags_KeyboardFlag_Modal = 2,
|
||||
EKeyboardFlags_KeyboardFlag_ShowArrowKeys = 4,
|
||||
EKeyboardFlags_KeyboardFlag_HideDoneKey = 8,
|
||||
} EKeyboardFlags;
|
||||
|
||||
typedef enum EDeviceType
|
||||
@@ -1726,6 +1868,7 @@ typedef enum EVRSettingsError
|
||||
EVRSettingsError_VRSettingsError_ReadFailed = 3,
|
||||
EVRSettingsError_VRSettingsError_JsonParseFailed = 4,
|
||||
EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5,
|
||||
EVRSettingsError_VRSettingsError_AccessDenied = 6,
|
||||
} EVRSettingsError;
|
||||
|
||||
typedef enum EVRScreenshotError
|
||||
@@ -1871,6 +2014,7 @@ typedef PropertyContainerHandle_t DriverHandle_t;
|
||||
typedef uint64_t VRActionHandle_t;
|
||||
typedef uint64_t VRActionSetHandle_t;
|
||||
typedef uint64_t VRInputValueHandle_t;
|
||||
typedef uint64_t VRInputComponentHandle_t;
|
||||
typedef uint32_t VRComponentProperties;
|
||||
typedef uint64_t VROverlayHandle_t;
|
||||
typedef int32_t BoneIndex_t;
|
||||
@@ -1975,6 +2119,15 @@ typedef struct VRBoneTransform_t
|
||||
struct HmdQuaternionf_t orientation;
|
||||
} VRBoneTransform_t;
|
||||
|
||||
typedef struct VREyeTrackingData_t
|
||||
{
|
||||
bool bActive;
|
||||
bool bValid;
|
||||
bool bTracked;
|
||||
HmdVector3_t vGazeOrigin;
|
||||
HmdVector3_t vGazeTarget;
|
||||
} VREyeTrackingData_t;
|
||||
|
||||
typedef struct DistortionCoordinates_t
|
||||
{
|
||||
float rfRed[2]; //float[2]
|
||||
@@ -2029,6 +2182,39 @@ typedef struct VRTextureWithPoseAndDepth_t
|
||||
struct VRTextureDepthInfo_t depth;
|
||||
} VRTextureWithPoseAndDepth_t;
|
||||
|
||||
typedef struct VRTextureMotionInfo_t
|
||||
{
|
||||
void * handle; // void *
|
||||
struct HmdMatrix44_t mDeltaPose;
|
||||
} VRTextureMotionInfo_t;
|
||||
|
||||
typedef struct VRTextureWithMotion_t
|
||||
{
|
||||
struct VRTextureMotionInfo_t motion;
|
||||
} VRTextureWithMotion_t;
|
||||
|
||||
typedef struct DmabufPlane_t
|
||||
{
|
||||
uint32_t unOffset;
|
||||
uint32_t unStride;
|
||||
int32_t nFd;
|
||||
} DmabufPlane_t;
|
||||
|
||||
typedef struct DmabufAttributes_t
|
||||
{
|
||||
void * pNext; // void *
|
||||
uint32_t unWidth;
|
||||
uint32_t unHeight;
|
||||
uint32_t unDepth;
|
||||
uint32_t unMipLevels;
|
||||
uint32_t unArrayLayers;
|
||||
uint32_t unSampleCount;
|
||||
uint32_t unFormat;
|
||||
uint64_t ulModifier;
|
||||
uint32_t unPlaneCount;
|
||||
struct DmabufPlane_t plane[4]; //struct vr::DmabufPlane_t[4]
|
||||
} DmabufAttributes_t;
|
||||
|
||||
typedef struct TrackedDevicePose_t
|
||||
{
|
||||
struct HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
@@ -2076,6 +2262,7 @@ typedef struct VREvent_Mouse_t
|
||||
float x;
|
||||
float y;
|
||||
uint32_t button;
|
||||
uint32_t cursorIndex;
|
||||
} VREvent_Mouse_t;
|
||||
|
||||
typedef struct VREvent_Scroll_t
|
||||
@@ -2084,6 +2271,7 @@ typedef struct VREvent_Scroll_t
|
||||
float ydelta;
|
||||
uint32_t unused;
|
||||
float viewportscale;
|
||||
uint32_t cursorIndex;
|
||||
} VREvent_Scroll_t;
|
||||
|
||||
typedef struct VREvent_TouchPadMove_t
|
||||
@@ -2115,6 +2303,7 @@ typedef struct VREvent_Overlay_t
|
||||
uint64_t overlayHandle;
|
||||
uint64_t devicePath;
|
||||
uint64_t memoryBlockId;
|
||||
uint32_t cursorIndex;
|
||||
} VREvent_Overlay_t;
|
||||
|
||||
typedef struct VREvent_Status_t
|
||||
@@ -2126,6 +2315,7 @@ typedef struct VREvent_Keyboard_t
|
||||
{
|
||||
char cNewInput[8]; //char[8]
|
||||
uint64_t uUserValue;
|
||||
uint64_t overlayHandle;
|
||||
} VREvent_Keyboard_t;
|
||||
|
||||
typedef struct VREvent_Ipd_t
|
||||
@@ -2135,7 +2325,7 @@ typedef struct VREvent_Ipd_t
|
||||
|
||||
typedef struct VREvent_Chaperone_t
|
||||
{
|
||||
uint64_t m_nPreviousUniverse;
|
||||
uint64_t m_nPreviousUniverse_deprecated;
|
||||
uint64_t m_nCurrentUniverse;
|
||||
} VREvent_Chaperone_t;
|
||||
|
||||
@@ -2253,6 +2443,16 @@ typedef struct VREvent_HDCPError_t
|
||||
enum EHDCPError eCode;
|
||||
} VREvent_HDCPError_t;
|
||||
|
||||
typedef struct VREvent_AudioVolumeControl_t
|
||||
{
|
||||
float fVolumeLevel;
|
||||
} VREvent_AudioVolumeControl_t;
|
||||
|
||||
typedef struct VREvent_AudioMuteControl_t
|
||||
{
|
||||
bool bMute;
|
||||
} VREvent_AudioMuteControl_t;
|
||||
|
||||
typedef struct RenderModel_ComponentState_t
|
||||
{
|
||||
struct HmdMatrix34_t mTrackingToComponentRenderModel;
|
||||
@@ -2319,6 +2519,7 @@ typedef struct Compositor_FrameTiming
|
||||
TrackedDevicePose_t m_HmdPose;
|
||||
uint32_t m_nNumVSyncsReadyForUse;
|
||||
uint32_t m_nNumVSyncsToFirstView;
|
||||
float m_flTransferLatencyMs;
|
||||
} Compositor_FrameTiming;
|
||||
|
||||
typedef struct Compositor_BenchmarkResults
|
||||
@@ -2344,6 +2545,12 @@ typedef struct ImuSample_t
|
||||
uint32_t unOffScaleFlags;
|
||||
} ImuSample_t;
|
||||
|
||||
typedef struct DistortionCoordinate_t
|
||||
{
|
||||
float u;
|
||||
float v;
|
||||
} DistortionCoordinate_t;
|
||||
|
||||
typedef struct AppOverrideKeys_t
|
||||
{
|
||||
char * pchKey; // const char *
|
||||
@@ -2596,6 +2803,7 @@ typedef struct COpenVRContext
|
||||
intptr_t m_pVRSpatialAnchors; // class vr::IVRSpatialAnchors *
|
||||
intptr_t m_pVRDebug; // class vr::IVRDebug *
|
||||
intptr_t m_pVRNotifications; // class vr::IVRNotifications *
|
||||
intptr_t m_pVRIPCResourceManagerClient; // class vr::IVRIPCResourceManagerClient *
|
||||
} COpenVRContext;
|
||||
|
||||
typedef struct PropertyWrite_t
|
||||
@@ -2624,6 +2832,11 @@ typedef struct CVRPropertyHelpers
|
||||
intptr_t m_pProperties; // class vr::IVRProperties *
|
||||
} CVRPropertyHelpers;
|
||||
|
||||
typedef struct PathWriteOptions_t
|
||||
{
|
||||
bool bPostEvents;
|
||||
} PathWriteOptions_t;
|
||||
|
||||
typedef struct PathWrite_t
|
||||
{
|
||||
PathHandle_t ulPath;
|
||||
@@ -2634,6 +2847,8 @@ typedef struct PathWrite_t
|
||||
PropertyTypeTag_t unTag;
|
||||
enum ETrackedPropertyError eError;
|
||||
char * pszPath; // const char *
|
||||
bool bPostEvents;
|
||||
bool bValueChanged;
|
||||
} PathWrite_t;
|
||||
|
||||
typedef struct PathRead_t
|
||||
@@ -2675,6 +2890,12 @@ typedef union
|
||||
VREvent_InputBindingLoad_t inputBinding;
|
||||
VREvent_InputActionManifestLoad_t actionManifest;
|
||||
VREvent_SpatialAnchor_t spatialAnchor;
|
||||
VREvent_ProgressUpdate_t progressUpdate;
|
||||
VREvent_ShowUI_t showUi;
|
||||
VREvent_ShowDevTools_t showDevTools;
|
||||
VREvent_HDCPError_t hdcpError;
|
||||
VREvent_AudioVolumeControl_t audioVolumeControl;
|
||||
VREvent_AudioMuteControl_t audioMuteControl;
|
||||
} VREvent_Data_t;
|
||||
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
@@ -2719,6 +2940,7 @@ struct VR_IVRSystem_FnTable
|
||||
struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV, struct DistortionCoordinates_t * pDistortionCoordinates);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *ComputeDistortionSet)(EVREye eEye, EVRDistortionChannel eChannel, bool bAsNormalizedDeviceCoordinates, uint32_t nNumCoordinates, struct DistortionCoordinate_t * pInput, struct DistortionCoordinate_t * pOutput);
|
||||
struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
|
||||
int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
|
||||
@@ -2746,8 +2968,11 @@ struct VR_IVRSystem_FnTable
|
||||
char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePose_t * pTrackedDevicePose);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPoseAndOverlays)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, struct TrackedDevicePose_t * pTrackedDevicePose, VROverlayHandle_t * pulOverlayHandle);
|
||||
char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType);
|
||||
struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye, EHiddenAreaMeshType type);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetEyeTrackedFoveationCenter)(struct HmdVector2_t * pNdcLeft, struct HmdVector2_t * pNdcRight);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetEyeTrackedFoveationCenterForProjection)(struct HmdMatrix44_t * pProjMat, struct HmdVector2_t * pNdc);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniverseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize, struct TrackedDevicePose_t * pTrackedDevicePose);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec);
|
||||
@@ -2761,6 +2986,7 @@ struct VR_IVRSystem_FnTable
|
||||
void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)();
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetAppContainerFilePaths)(char * pchBuffer, uint32_t unBufferSize);
|
||||
char * (OPENVR_FNTABLE_CALLTYPE *GetRuntimeVersion)();
|
||||
EVRInitError (OPENVR_FNTABLE_CALLTYPE *SetSDKVersion)(uint32_t nVersionMajor, uint32_t nVersionMinor, uint32_t nVersionBuild);
|
||||
};
|
||||
|
||||
struct VR_IVRExtendedDisplay_FnTable
|
||||
@@ -2819,6 +3045,7 @@ struct VR_IVRApplications_FnTable
|
||||
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey);
|
||||
char * (OPENVR_FNTABLE_CALLTYPE *GetSceneApplicationStateNameFromEnum)(EVRSceneApplicationState state);
|
||||
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory);
|
||||
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RegisterSubprocess)(uint32_t nPid);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneProcessId)();
|
||||
};
|
||||
|
||||
@@ -2866,7 +3093,9 @@ struct VR_IVRCompositor_FnTable
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pOutputGamePose);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetSubmitTexture)(struct Texture_t * pOutTexture, bool * pNeedsFlush, EVRCompositorTextureUsage eUsage, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SubmitWithArrayIndex)(EVREye eEye, struct Texture_t * pTexture, uint32_t unTextureArrayIndex, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)();
|
||||
void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)();
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo);
|
||||
@@ -2918,6 +3147,7 @@ struct VR_IVROverlay_FnTable
|
||||
{
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayName, VROverlayHandle_t * pOverlayHandle);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateSubviewOverlay)(VROverlayHandle_t parentOverlayHandle, char * pchSubviewOverlayKey, char * pchSubviewOverlayName, VROverlayHandle_t * pSubviewOverlayHandle);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandle_t ulOverlayHandle);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
|
||||
@@ -2957,6 +3187,7 @@ struct VR_IVROverlay_FnTable
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformCursor)(VROverlayHandle_t ulCursorOverlayHandle, struct HmdVector2_t * pvHotspot);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformCursor)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvHotspot);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformProjection)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform, struct VROverlayProjection_t * pProjection, EVREye eEye);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetSubviewPosition)(VROverlayHandle_t ulOverlayHandle, float fX, float fY);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle);
|
||||
@@ -3102,6 +3333,8 @@ struct VR_IVRInput_FnTable
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetSkeletalActionData)(VRActionHandle_t action, struct InputSkeletalActionData_t * pActionData, uint32_t unActionDataSize);
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetDominantHand)(ETrackedControllerRole * peDominantHand);
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *SetDominantHand)(ETrackedControllerRole eDominantHand);
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetEyeTrackingDataRelativeToNow)(VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, float fPredictedSecondsFromNow, VREyeTrackingData_t * pEyeTrackingData, uint32_t ulEyeTrackingDataSize);
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetEyeTrackingDataForNextFrame)(VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, VREyeTrackingData_t * pEyeTrackingData, uint32_t ulEyeTrackingDataSize);
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetBoneCount)(VRActionHandle_t action, uint32_t * pBoneCount);
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetBoneHierarchy)(VRActionHandle_t action, BoneIndex_t * pParentIndices, uint32_t unIndexArayCount);
|
||||
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetBoneName)(VRActionHandle_t action, BoneIndex_t nBoneIndex, char * pchBoneName, uint32_t unNameBufferSize);
|
||||
@@ -3150,6 +3383,20 @@ struct VR_IVRDebug_FnTable
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize);
|
||||
};
|
||||
|
||||
struct VR_IVRIPCResourceManagerClient_FnTable
|
||||
{
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *NewSharedVulkanImage)(uint32_t nImageFormat, uint32_t nWidth, uint32_t nHeight, bool bRenderable, bool bMappable, bool bComputeAccess, uint32_t unMipLevels, uint32_t unArrayLayerCount, uint32_t unAdditionalVkCreateFlags, uint32_t unAdditionalVkUsageFlags, SharedTextureHandle_t * pSharedHandle);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *NewSharedVulkanBuffer)(uint32_t nSize, uint32_t nUsageFlags, SharedTextureHandle_t * pSharedHandle);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *NewSharedVulkanSemaphore)(bool bCounting, SharedTextureHandle_t * pSharedHandle);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *RefResource)(SharedTextureHandle_t hSharedHandle, uint64_t * pNewIpcHandle);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *UnrefResource)(SharedTextureHandle_t hSharedHandle);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetDmabufFormats)(uint32_t * pOutFormatCount, uint32_t * pOutFormats);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetDmabufModifiers)(EVRApplicationType eApplicationType, uint32_t unDRMFormat, uint32_t * pOutModifierCount, uint64_t * pOutModifiers);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *ImportDmabuf)(EVRApplicationType eApplicationType, DmabufAttributes_t * pDmabufAttributes, SharedTextureHandle_t * pSharedHandle);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *ReceiveSharedFd)(uint64_t ulIpcHandle, int * pOutFd);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *DestructIVRIPCResourceManagerClient)();
|
||||
};
|
||||
|
||||
struct VR_IVRProperties_FnTable
|
||||
{
|
||||
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *ReadPropertyBatch)(PropertyContainerHandle_t ulContainerHandle, struct PropertyRead_t * pBatch, uint32_t unBatchEntryCount);
|
||||
|
||||
+458
-49
@@ -15,9 +15,9 @@
|
||||
|
||||
namespace vr
|
||||
{
|
||||
static const uint32_t k_nSteamVRVersionMajor = 1;
|
||||
static const uint32_t k_nSteamVRVersionMinor = 26;
|
||||
static const uint32_t k_nSteamVRVersionBuild = 7;
|
||||
static const uint32_t k_nSteamVRVersionMajor = 2;
|
||||
static const uint32_t k_nSteamVRVersionMinor = 15;
|
||||
static const uint32_t k_nSteamVRVersionBuild = 6;
|
||||
} // namespace vr
|
||||
|
||||
// public_vrtypes.h
|
||||
@@ -104,6 +104,16 @@ struct VRBoneTransform_t
|
||||
HmdQuaternionf_t orientation;
|
||||
};
|
||||
|
||||
struct VREyeTrackingData_t
|
||||
{
|
||||
bool bActive;
|
||||
bool bValid;
|
||||
bool bTracked;
|
||||
|
||||
vr::HmdVector3_t vGazeOrigin; // Ray origin
|
||||
vr::HmdVector3_t vGazeTarget; // Gaze target (fixation point)
|
||||
};
|
||||
|
||||
/** Used to return the post-distortion UVs for each color channel.
|
||||
* UVs range from 0 to 1 with 0,0 in the upper left corner of the
|
||||
* source render target. The 0,0 to 1,1 range covers a single eye. */
|
||||
@@ -133,6 +143,9 @@ enum ETextureType
|
||||
TextureType_Metal = 6, // Handle is a MTLTexture conforming to the MTLSharedTexture protocol. Textures submitted to IVRCompositor::Submit which
|
||||
// are of type MTLTextureType2DArray assume layer 0 is the left eye texture (vr::EVREye::Eye_left), layer 1 is the right
|
||||
// eye texture (vr::EVREye::Eye_Right)
|
||||
|
||||
TextureType_Reserved = 7,
|
||||
TextureType_SharedTextureHandle = 8, // A pointer to a vr::SharedTextureHandle_t that was imported via, eg. ImportDmabuf.
|
||||
};
|
||||
|
||||
enum EColorSpace
|
||||
@@ -180,6 +193,17 @@ struct VRTextureWithPoseAndDepth_t : public VRTextureWithPose_t
|
||||
VRTextureDepthInfo_t depth;
|
||||
};
|
||||
|
||||
struct VRTextureMotionInfo_t
|
||||
{
|
||||
void *handle; // See ETextureType definition above
|
||||
HmdMatrix44_t mDeltaPose; // Incremental application-applied transform, if any, since the previous frame that affects the view.
|
||||
};
|
||||
|
||||
struct VRTextureWithMotion_t : VRTextureWithPoseAndDepth_t
|
||||
{
|
||||
VRTextureMotionInfo_t motion;
|
||||
};
|
||||
|
||||
// 64-bit types that are part of public structures
|
||||
// that are replicated in shared memory.
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
@@ -190,6 +214,32 @@ typedef uint64_t vrshared_uint64_t;
|
||||
typedef double vrshared_double;
|
||||
#endif
|
||||
|
||||
static const uint32_t MaxDmabufPlaneCount = 4;
|
||||
|
||||
struct DmabufPlane_t
|
||||
{
|
||||
uint32_t unOffset;
|
||||
uint32_t unStride;
|
||||
int32_t nFd; // This is not consumed, it is dup'ed.
|
||||
};
|
||||
|
||||
struct DmabufAttributes_t
|
||||
{
|
||||
void *pNext; // MUST be NULL. Unused right now, but could be used to extend this structure in the future.
|
||||
|
||||
uint32_t unWidth;
|
||||
uint32_t unHeight;
|
||||
uint32_t unDepth;
|
||||
uint32_t unMipLevels;
|
||||
uint32_t unArrayLayers;
|
||||
uint32_t unSampleCount;
|
||||
uint32_t unFormat; // DRM_FORMAT_
|
||||
uint64_t ulModifier; // DRM_FORMAT_MOD_
|
||||
|
||||
uint32_t unPlaneCount;
|
||||
DmabufPlane_t plane[MaxDmabufPlaneCount];
|
||||
};
|
||||
|
||||
#pragma pack( pop )
|
||||
|
||||
} // namespace vr
|
||||
@@ -432,6 +482,13 @@ enum ETrackedDeviceProperty
|
||||
Prop_EstimatedDeviceFirstUseTime_Int32 = 1051,
|
||||
Prop_DevicePowerUsage_Float = 1052,
|
||||
Prop_IgnoreMotionForStandby_Bool = 1053,
|
||||
Prop_ActualTrackingSystemName_String = 1054, // the literal local driver name in case someone is playing games with prop 1000
|
||||
Prop_AllowCameraToggle_Bool = 1055, // Shows the Enable/Disable camera option. Hide this for certain headsets if they have the camera tracking (since it's always on)
|
||||
Prop_AllowLightSourceFrequency_Bool = 1056, // Shows the Anti-Flicker option in camera settings.
|
||||
Prop_SteamRemoteClientID_Uint64 = 1057, // For vrlink
|
||||
Prop_Reserved_1058 = 1058,
|
||||
Prop_Reserved_1059 = 1059,
|
||||
Prop_Reserved_1060 = 1060,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_HMD
|
||||
Prop_ReportsTimeSinceVSync_Bool = 2000,
|
||||
@@ -439,7 +496,7 @@ enum ETrackedDeviceProperty
|
||||
Prop_DisplayFrequency_Float = 2002,
|
||||
Prop_UserIpdMeters_Float = 2003,
|
||||
Prop_CurrentUniverseId_Uint64 = 2004,
|
||||
Prop_PreviousUniverseId_Uint64 = 2005,
|
||||
Prop_PreviousUniverseId_Uint64_deprecated = Prop_Invalid,
|
||||
Prop_DisplayFirmwareVersion_Uint64 = 2006,
|
||||
Prop_IsOnDesktop_Bool = 2007,
|
||||
Prop_DisplayMCType_Int32 = 2008,
|
||||
@@ -524,10 +581,13 @@ enum ETrackedDeviceProperty
|
||||
Prop_CameraGlobalGain_Float = 2089,
|
||||
// Prop_DashboardLayoutPathName_String = 2090, // DELETED
|
||||
Prop_DashboardScale_Float = 2091,
|
||||
Prop_PeerButtonInfo_String = 2092,
|
||||
// Prop_PeerButtonInfo_String = 2092, // DELETED
|
||||
Prop_Hmd_SupportsHDR10_Bool = 2093,
|
||||
Prop_Hmd_EnableParallelRenderCameras_Bool = 2094,
|
||||
Prop_DriverProvidedChaperoneJson_String = 2095, // higher priority than Prop_DriverProvidedChaperonePath_String
|
||||
Prop_ForceSystemLayerUseAppPoses_Bool = 2096,
|
||||
Prop_DashboardLinkSupport_Int32 = 2097,
|
||||
Prop_DisplayMinUIAnalogGain_Float = 2098,
|
||||
|
||||
Prop_IpdUIRangeMinMeters_Float = 2100,
|
||||
Prop_IpdUIRangeMaxMeters_Float = 2101,
|
||||
@@ -537,10 +597,18 @@ enum ETrackedDeviceProperty
|
||||
Prop_Hmd_SupportsRoomViewDirect_Bool = 2105,
|
||||
Prop_Hmd_SupportsAppThrottling_Bool = 2106,
|
||||
Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107,
|
||||
Prop_DriverDisplaysIPDChanges_Bool = 2108,
|
||||
// Prop_Driver_RecenterSupport_Int32 = 2109, // DELETED
|
||||
Prop_Reserved_2110 = 2110,
|
||||
Prop_Reserved_2111 = 2111,
|
||||
Prop_Reserved_2112 = 2112,
|
||||
|
||||
Prop_DSCVersion_Int32 = 2110,
|
||||
Prop_DSCSliceCount_Int32 = 2111,
|
||||
Prop_DSCBPPx16_Int32 = 2112,
|
||||
Prop_Hmd_MaxDistortedTextureWidth_Int32 = 2113,
|
||||
Prop_Hmd_MaxDistortedTextureHeight_Int32 = 2114,
|
||||
Prop_Hmd_AllowSupersampleFiltering_Bool = 2115,
|
||||
|
||||
Prop_Hmd_AllowsClientToControlTextureIndex = 2116,
|
||||
Prop_Reserved_2117 = 2117,
|
||||
|
||||
// Driver requested mura correction properties
|
||||
Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200,
|
||||
@@ -557,6 +625,16 @@ enum ETrackedDeviceProperty
|
||||
Prop_Audio_DefaultRecordingDeviceId_String = 2301,
|
||||
Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302,
|
||||
Prop_Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303,
|
||||
Prop_Audio_DriverManagesPlaybackVolumeControl_Bool = 2304,
|
||||
Prop_Audio_DriverPlaybackVolume_Float = 2305,
|
||||
Prop_Audio_DriverPlaybackMute_Bool = 2306,
|
||||
Prop_Audio_DriverManagesRecordingVolumeControl_Bool = 2307,
|
||||
Prop_Audio_DriverRecordingVolume_Float = 2308,
|
||||
Prop_Audio_DriverRecordingMute_Bool = 2309,
|
||||
|
||||
// Pipewire Audio Stuff
|
||||
Prop_Audio_PipewirePlaybackNode_Int32 = 2400,
|
||||
Prop_Audio_PipewireRecordingNode_Int32 = 2401,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_Controller
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
@@ -606,6 +684,10 @@ enum ETrackedDeviceProperty
|
||||
Prop_HasDriverDirectModeComponent_Bool = 6005,
|
||||
Prop_HasVirtualDisplayComponent_Bool = 6006,
|
||||
Prop_HasSpatialAnchorsSupport_Bool = 6007,
|
||||
Prop_SupportsXrTextureSets_Bool = 6008,
|
||||
Prop_SupportsXrEyeGazeInteraction_Bool = 6009,
|
||||
Prop_DeviceHasNoIMU_Bool = 6010,
|
||||
Prop_UseAdvancedPrediction_Bool = 6011,
|
||||
|
||||
// Properties that are set internally based on other information provided by drivers
|
||||
Prop_ControllerType_String = 7000,
|
||||
@@ -616,6 +698,13 @@ enum ETrackedDeviceProperty
|
||||
Prop_VendorSpecific_Reserved_Start = 10000,
|
||||
Prop_VendorSpecific_Reserved_End = 10999,
|
||||
|
||||
// Addl SteamVR Reserved Space
|
||||
Prop_Reserved_11000 = 11000,
|
||||
Prop_Reserved_11001 = 11001,
|
||||
Prop_Reserved_11002 = 11002,
|
||||
Prop_Reserved_11003 = 11003,
|
||||
Prop_Reserved_11004 = 11004,
|
||||
|
||||
Prop_TrackedDeviceProperty_Max = 1000000,
|
||||
};
|
||||
|
||||
@@ -656,10 +745,12 @@ enum EHmdTrackingStyle
|
||||
typedef uint64_t VRActionHandle_t;
|
||||
typedef uint64_t VRActionSetHandle_t;
|
||||
typedef uint64_t VRInputValueHandle_t;
|
||||
typedef uint64_t VRInputComponentHandle_t;
|
||||
|
||||
static const VRActionHandle_t k_ulInvalidActionHandle = 0;
|
||||
static const VRActionSetHandle_t k_ulInvalidActionSetHandle = 0;
|
||||
static const VRInputValueHandle_t k_ulInvalidInputValueHandle = 0;
|
||||
static const VRInputComponentHandle_t k_ulInvalidInputComponentHandle = 0;
|
||||
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
@@ -689,7 +780,7 @@ enum EVRSubmitFlags
|
||||
|
||||
// Set to indicate a discontinuity between this and the last frame.
|
||||
// This will prevent motion smoothing from attempting to extrapolate using the pair.
|
||||
Submit_FrameDiscontinuty = 0x20,
|
||||
Submit_FrameDiscontinuity = 0x20,
|
||||
|
||||
// Set to indicate that pTexture->handle is a contains VRVulkanTextureArrayData_t
|
||||
Submit_VulkanTextureWithArrayData = 0x40,
|
||||
@@ -697,10 +788,18 @@ enum EVRSubmitFlags
|
||||
// If the texture pointer passed in is an OpenGL Array texture, set this flag
|
||||
Submit_GlArrayTexture = 0x80,
|
||||
|
||||
// If the texture is an EGL texture and not an glX/wGL texture (Linux only, currently)
|
||||
Submit_IsEgl = 0x100,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithMotion_t.
|
||||
Submit_TextureWithMotion = 0x200 | Submit_TextureWithPose | Submit_TextureWithDepth,
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved2 = 0x08000,
|
||||
Submit_Reserved3 = 0x10000,
|
||||
|
||||
Submit_Reserved4 = 0x20000,
|
||||
Submit_Reserved5 = 0x40000,
|
||||
Submit_Reserved6 = 0x80000,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -768,6 +867,8 @@ enum EVREventType
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
VREvent_Reserved_0114 = 114,
|
||||
VREvent_Reserved_0115 = 115,
|
||||
|
||||
VREvent_ButtonPress = 200, // data is controller
|
||||
VREvent_ButtonUnpress = 201, // data is controller
|
||||
@@ -793,8 +894,8 @@ enum EVREventType
|
||||
VREvent_OverlayFocusChanged = 307, // data is overlay, global event
|
||||
VREvent_ReloadOverlays = 308,
|
||||
VREvent_ScrollSmooth = 309, // data is scroll
|
||||
VREvent_LockMousePosition = 310,
|
||||
VREvent_UnlockMousePosition = 311,
|
||||
VREvent_LockMousePosition = 310, // data is mouse
|
||||
VREvent_UnlockMousePosition = 311, // data is mouse
|
||||
|
||||
VREvent_InputFocusCaptured = 400, // data is process DEPRECATED
|
||||
VREvent_InputFocusReleased = 401, // data is process DEPRECATED
|
||||
@@ -817,12 +918,12 @@ enum EVREventType
|
||||
VREvent_ConsoleOpened = 420,
|
||||
VREvent_ConsoleClosed = 421,
|
||||
|
||||
VREvent_OverlayShown = 500,
|
||||
VREvent_OverlayHidden = 501,
|
||||
VREvent_OverlayShown = 500, // Indicates that an overlay is now visible to someone and should be rendering normally. Reflects IVROverlay::IsOverlayVisible() becoming true.
|
||||
VREvent_OverlayHidden = 501, // Indicates that an overlay is no longer visible to someone and doesn't need to render frames. Reflects IVROverlay::IsOverlayVisible() becoming false.
|
||||
VREvent_DashboardActivated = 502,
|
||||
VREvent_DashboardDeactivated = 503,
|
||||
//VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - No longer sent
|
||||
VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay
|
||||
//VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay
|
||||
VREvent_ResetDashboard = 506, // Send to the overlay manager
|
||||
//VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID -- no longer sent
|
||||
VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading
|
||||
@@ -846,8 +947,8 @@ enum EVREventType
|
||||
VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted
|
||||
|
||||
VREvent_PrimaryDashboardDeviceChanged = 525,
|
||||
VREvent_RoomViewShown = 526, // Sent by compositor whenever room-view is enabled
|
||||
VREvent_RoomViewHidden = 527, // Sent by compositor whenever room-view is disabled
|
||||
VREvent_RoomViewShown = 526, // Sent by compositor whenever room-view is enabled (for scene apps only - not for construct or transient bounds)
|
||||
VREvent_RoomViewHidden = 527, // Sent by compositor whenever room-view is disabled (for scene apps only - not for construct or transient bounds)
|
||||
VREvent_ShowUI = 528, // data is showUi
|
||||
VREvent_ShowDevTools = 529, // data is showDevTools
|
||||
VREvent_DesktopViewUpdating = 530,
|
||||
@@ -855,8 +956,23 @@ enum EVREventType
|
||||
|
||||
VREvent_StartDashboard = 532,
|
||||
VREvent_ElevatePrism = 533,
|
||||
VREvent_OverlayClosed = 534, // The overlay's close button is pressed.
|
||||
VREvent_DashboardThumbChanged = 535, // Sent when a dashboard thumbnail image changes
|
||||
VREvent_DesktopMightBeVisible = 536, // Sent when any known desktop related overlay is visible
|
||||
VREvent_DesktopMightBeHidden = 537, // Sent when all known desktop related overlays are hidden
|
||||
VREvent_MutualSteamCapabilitiesChanged = 538, // Sent when the set of capabilities common between both Steam and SteamVR have changed.
|
||||
VREvent_OverlayCreated = 539, // An OpenVR overlay of any sort was created. Data is overlay.
|
||||
VREvent_OverlayDestroyed = 540, // An OpenVR overlay of any sort was destroyed. Data is overlay.
|
||||
VREvent_OverlayNameChanged = 544, // An OpenVR overlay's name changed. Data is overlay.
|
||||
|
||||
VREvent_OverlayClosed = 534,
|
||||
VREvent_TrackingRecordingStarted = 541,
|
||||
VREvent_TrackingRecordingStopped = 542,
|
||||
VREvent_SetTrackingRecordingPath = 543,
|
||||
|
||||
VREvent_Reserved_0560 = 560, // No data
|
||||
VREvent_Reserved_0561 = 561, // No data
|
||||
VREvent_Reserved_0562 = 562, // No data
|
||||
VREvent_Reserved_0563 = 563, // No data
|
||||
|
||||
VREvent_Notification_Shown = 600,
|
||||
VREvent_Notification_Hidden = 601,
|
||||
@@ -870,6 +986,7 @@ enum EVREventType
|
||||
VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down
|
||||
VREvent_RestartRequested = 705, // A driver or other component wants the user to restart SteamVR
|
||||
VREvent_InvalidateSwapTextureSets = 706,
|
||||
VREvent_RequestDisconnectWirelessHMD = 707, // vrserver asks vrlink to disconnect
|
||||
|
||||
VREvent_ChaperoneDataHasChanged = 800, // this will never happen with the new chaperone system
|
||||
VREvent_ChaperoneUniverseHasChanged = 801,
|
||||
@@ -878,8 +995,14 @@ enum EVREventType
|
||||
VREvent_SeatedZeroPoseReset = 804,
|
||||
VREvent_ChaperoneFlushCache = 805, // Sent when the process needs to reload any cached data it retrieved from VRChaperone()
|
||||
VREvent_ChaperoneRoomSetupStarting = 806, // Triggered by CVRChaperoneClient::RoomSetupStarting
|
||||
VREvent_ChaperoneRoomSetupFinished = 807, // Triggered by CVRChaperoneClient::CommitWorkingCopy
|
||||
VREvent_ChaperoneRoomSetupCommitted = 807, // Triggered by CVRChaperoneClient::CommitWorkingCopy (formerly VREvent_ChaperoneRoomSetupFinished)
|
||||
VREvent_StandingZeroPoseReset = 808,
|
||||
VREvent_Reserved_0809 = 809,
|
||||
VREvent_Reserved_0810 = 810,
|
||||
VREvent_Reserved_0811 = 811,
|
||||
VREvent_Reserved_0812 = 812,
|
||||
VREvent_Reserved_0813 = 813,
|
||||
VREvent_Reserved_0814 = 814,
|
||||
|
||||
VREvent_AudioSettingsHaveChanged = 820,
|
||||
|
||||
@@ -905,6 +1028,8 @@ enum EVREventType
|
||||
VREvent_GpuSpeedSectionSettingChanged = 869,
|
||||
VREvent_WindowsMRSectionSettingChanged = 870,
|
||||
VREvent_OtherSectionSettingChanged = 871,
|
||||
VREvent_AnyDriverSettingsChanged = 872,
|
||||
VREvent_Reserved_0873 = 873,
|
||||
|
||||
VREvent_StatusUpdate = 900,
|
||||
|
||||
@@ -915,9 +1040,11 @@ enum EVREventType
|
||||
VREvent_FirmwareUpdateStarted = 1100,
|
||||
VREvent_FirmwareUpdateFinished = 1101,
|
||||
|
||||
VREvent_KeyboardClosed = 1200,
|
||||
VREvent_KeyboardCharInput = 1201,
|
||||
VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard
|
||||
VREvent_KeyboardClosed = 1200, // DEPRECATED: Sent only to the overlay it closed for, or globally if it was closed for a scene app
|
||||
VREvent_KeyboardCharInput = 1201, // Sent on keyboard input. Warning: event type appears as both global event and overlay event
|
||||
VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard. Warning: event type appears as both global event and overlay event
|
||||
VREvent_KeyboardOpened_Global = 1203, // Sent globally when the keyboard is opened. data.keyboard.overlayHandle is who it was opened for (scene app if k_ulOverlayHandleInvalid)
|
||||
VREvent_KeyboardClosed_Global = 1204, // Sent globally when the keyboard is closed. data.keyboard.overlayHandle is who it was opened for (scene app if k_ulOverlayHandleInvalid)
|
||||
|
||||
//VREvent_ApplicationTransitionStarted = 1300,
|
||||
//VREvent_ApplicationTransitionAborted = 1301,
|
||||
@@ -975,6 +1102,13 @@ enum EVREventType
|
||||
VREvent_Monitor_ShowHeadsetView = 2000, // data is process
|
||||
VREvent_Monitor_HideHeadsetView = 2001, // data is process
|
||||
|
||||
VREvent_Audio_SetSpeakersVolume = 2100,
|
||||
VREvent_Audio_SetSpeakersMute = 2101,
|
||||
VREvent_Audio_SetMicrophoneVolume = 2102,
|
||||
VREvent_Audio_SetMicrophoneMute = 2103,
|
||||
|
||||
VREvent_RenderModel_CountChanged = 2200, //Number of RenderModels in the system has changed
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
@@ -1056,6 +1190,10 @@ struct VREvent_Mouse_t
|
||||
{
|
||||
float x, y; // co-ords are in GL space, bottom left of the texture is 0,0
|
||||
uint32_t button; // EVRMouseButton enum
|
||||
|
||||
// if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of
|
||||
// which tracked cursor the event is for
|
||||
uint32_t cursorIndex;
|
||||
};
|
||||
|
||||
/** used for simulated mouse wheel scroll */
|
||||
@@ -1064,6 +1202,10 @@ struct VREvent_Scroll_t
|
||||
float xdelta, ydelta;
|
||||
uint32_t unused;
|
||||
float viewportscale; // For scrolling on an overlay with laser mouse, this is the overlay's vertical size relative to the overlay height. Range: [0,1]
|
||||
|
||||
// if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of
|
||||
// which tracked cursor the event is for
|
||||
uint32_t cursorIndex;
|
||||
};
|
||||
|
||||
/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger
|
||||
@@ -1108,9 +1250,13 @@ struct VREvent_Process_t
|
||||
/** Used for a few events about overlays */
|
||||
struct VREvent_Overlay_t
|
||||
{
|
||||
uint64_t overlayHandle;
|
||||
uint64_t overlayHandle; // VROverlayHandle_t
|
||||
uint64_t devicePath;
|
||||
uint64_t memoryBlockId;
|
||||
|
||||
// if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of
|
||||
// which tracked cursor the event is for
|
||||
uint32_t cursorIndex;
|
||||
};
|
||||
|
||||
|
||||
@@ -1120,11 +1266,12 @@ struct VREvent_Status_t
|
||||
uint32_t statusState; // EVRState enum
|
||||
};
|
||||
|
||||
/** Used for keyboard events **/
|
||||
/** Used for keyboard events */
|
||||
struct VREvent_Keyboard_t
|
||||
{
|
||||
char cNewInput[8]; // Up to 11 bytes of new input
|
||||
uint64_t uUserValue; // Possible flags about the new input
|
||||
char cNewInput[8]; // 7 bytes of utf8 + null
|
||||
uint64_t uUserValue; // caller specified opaque token
|
||||
uint64_t overlayHandle; // VROverlayHandle_t
|
||||
};
|
||||
|
||||
struct VREvent_Ipd_t
|
||||
@@ -1134,7 +1281,7 @@ struct VREvent_Ipd_t
|
||||
|
||||
struct VREvent_Chaperone_t
|
||||
{
|
||||
uint64_t m_nPreviousUniverse;
|
||||
uint64_t m_nPreviousUniverse_deprecated;
|
||||
uint64_t m_nCurrentUniverse;
|
||||
};
|
||||
|
||||
@@ -1274,6 +1421,16 @@ struct VREvent_HDCPError_t
|
||||
EHDCPError eCode;
|
||||
};
|
||||
|
||||
struct VREvent_AudioVolumeControl_t
|
||||
{
|
||||
float fVolumeLevel;
|
||||
};
|
||||
|
||||
struct VREvent_AudioMuteControl_t
|
||||
{
|
||||
bool bMute;
|
||||
};
|
||||
|
||||
typedef union
|
||||
{
|
||||
VREvent_Reserved_t reserved;
|
||||
@@ -1305,7 +1462,9 @@ typedef union
|
||||
VREvent_ShowUI_t showUi;
|
||||
VREvent_ShowDevTools_t showDevTools;
|
||||
VREvent_HDCPError_t hdcpError;
|
||||
/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */
|
||||
VREvent_AudioVolumeControl_t audioVolumeControl;
|
||||
VREvent_AudioMuteControl_t audioMuteControl;
|
||||
/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py and openvr_api_flat.h.py */
|
||||
} VREvent_Data_t;
|
||||
|
||||
|
||||
@@ -1587,6 +1746,7 @@ enum EVRNotificationError
|
||||
VRNotificationError_NotificationQueueFull = 101,
|
||||
VRNotificationError_InvalidOverlayHandle = 102,
|
||||
VRNotificationError_SystemWithUserValueAlreadyExists = 103,
|
||||
VRNotificationError_ServiceUnavailable = 104,
|
||||
};
|
||||
|
||||
|
||||
@@ -1705,6 +1865,8 @@ enum EVRInitError
|
||||
VRInitError_Init_VRDashboardTokenFailure = 165,
|
||||
VRInitError_Init_VRDashboardEnvironmentFailure = 166,
|
||||
VRInitError_Init_VRDashboardPathFailure = 167,
|
||||
VRInitError_Init_InstallationTooOld = 168,
|
||||
VRInitError_Init_ClientVersionAlreadyProvided = 169,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
@@ -1833,6 +1995,11 @@ enum EVRInitError
|
||||
VRInitError_Compositor_SystemLayerCreateSession = 493,
|
||||
VRInitError_Compositor_CreateInverseDistortUVs = 494,
|
||||
VRInitError_Compositor_CreateBackbufferDepth = 495,
|
||||
VRInitError_Compositor_CannotDRMLeaseDisplay = 496,
|
||||
VRInitError_Compositor_CannotConnectToDisplayServer = 497,
|
||||
VRInitError_Compositor_GnomeNoDRMLeasing = 498,
|
||||
VRInitError_Compositor_FailedToInitializeEncoder = 499,
|
||||
VRInitError_Compositor_CreateBlurTexture = 500,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_WindowsNotInDevMode = 1001,
|
||||
@@ -1854,6 +2021,12 @@ enum EVRInitError
|
||||
VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114,
|
||||
VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115,
|
||||
|
||||
VRInitError_VendorSpecific_Oasis_UnlockRequired = 1150,
|
||||
|
||||
VRInitError_VendorSpecific_VRLink_OutdatedDriverMESA = 1200,
|
||||
VRInitError_VendorSpecific_VRLink_OutdatedDriverNVIDIA = 1201,
|
||||
VRInitError_VendorSpecific_VRLink_NoVideoSupport = 1202,
|
||||
|
||||
VRInitError_Steam_SteamInstallationNotFound = 2000,
|
||||
|
||||
// Strictly a placeholder
|
||||
@@ -1958,8 +2131,8 @@ const uint32_t VRCompositor_ReprojectionAsync = 0x04; // This flag indicates the
|
||||
|
||||
const uint32_t VRCompositor_ReprojectionMotion = 0x08; // This flag indicates whether or not motion smoothing was triggered for this frame
|
||||
|
||||
const uint32_t VRCompositor_PredictionMask = 0xF0; // The runtime may predict more than one frame (up to four) ahead if
|
||||
// it detects the application is taking too long to render. These two
|
||||
const uint32_t VRCompositor_PredictionMask = 0xF0; // The runtime may predict more than one frame ahead if
|
||||
// it detects the application is taking too long to render. These
|
||||
// bits will contain the count of additional frames (normally zero).
|
||||
// Use the VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES macro to read from
|
||||
// the latest frame timing entry.
|
||||
@@ -1971,6 +2144,9 @@ const uint32_t VRCompositor_ThrottleMask = 0xF00; // Number of frames the compos
|
||||
#define VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_PredictionMask ) >> 4 )
|
||||
#define VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_ThrottleMask ) >> 8 )
|
||||
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
#pragma pack( push, 4 )
|
||||
#endif
|
||||
/** Provides a single frame's timing information to the app */
|
||||
struct Compositor_FrameTiming
|
||||
{
|
||||
@@ -2013,7 +2189,12 @@ struct Compositor_FrameTiming
|
||||
|
||||
uint32_t m_nNumVSyncsReadyForUse;
|
||||
uint32_t m_nNumVSyncsToFirstView;
|
||||
|
||||
float m_flTransferLatencyMs;
|
||||
};
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
#pragma pack( pop )
|
||||
#endif
|
||||
|
||||
/** Provides compositor benchmark results to the app */
|
||||
struct Compositor_BenchmarkResults
|
||||
@@ -2070,6 +2251,22 @@ struct ImuSample_t
|
||||
uint32_t unOffScaleFlags;
|
||||
};
|
||||
|
||||
enum class EVRDistortionChannel : uint32_t
|
||||
{
|
||||
Red = 0, // given a coordinate in distorted panel space, returns the coordinate to sample in rectilinear render space for the red channel
|
||||
Green, // given a coordinate in distorted panel space, returns the coordinate to sample in rectilinear render space for the green channel
|
||||
Blue, // given a coordinate in distorted panel space, returns the coordinate to sample in rectilinear render space for the blue channel
|
||||
InverseRed, // given a coordinate in rectilinear render space, returns the corresponding coordinate in distorted panel space for the red channel
|
||||
InverseGreen, // given a coordinate in rectilinear render space, returns the corresponding coordinate in distorted panel space for the green channel
|
||||
InverseBlue, // given a coordinate in rectilinear render space, returns the corresponding coordinate in distorted panel space for the blue channel
|
||||
Count
|
||||
};
|
||||
|
||||
struct DistortionCoordinate_t
|
||||
{
|
||||
float u, v; // 0..1
|
||||
};
|
||||
|
||||
#pragma pack( pop )
|
||||
|
||||
// figure out how to import from the VR API dll
|
||||
@@ -2237,7 +2434,9 @@ VR_CAMERA_DECL_ALIGN( 8 ) struct CameraVideoStreamFrame_t
|
||||
|
||||
// ivrsettings.h
|
||||
|
||||
#ifndef OPENVR_NO_STL
|
||||
#include <string>
|
||||
#endif
|
||||
|
||||
namespace vr
|
||||
{
|
||||
@@ -2249,6 +2448,7 @@ namespace vr
|
||||
VRSettingsError_ReadFailed = 3,
|
||||
VRSettingsError_JsonParseFailed = 4,
|
||||
VRSettingsError_UnsetSettingHasNoDefault = 5, // This will be returned if the setting does not appear in the appropriate default file and has not been set
|
||||
VRSettingsError_AccessDenied = 6,
|
||||
};
|
||||
|
||||
// The maximum length of a settings key
|
||||
@@ -2309,10 +2509,12 @@ namespace vr
|
||||
{
|
||||
m_pSettings->SetString( pchSection, pchSettingsKey, pchValue, peError );
|
||||
}
|
||||
#ifndef OPENVR_NO_STL
|
||||
void SetString( const std::string & sSection, const std::string & sSettingsKey, const std::string & sValue, EVRSettingsError *peError = nullptr )
|
||||
{
|
||||
m_pSettings->SetString( sSection.c_str(), sSettingsKey.c_str(), sValue.c_str(), peError );
|
||||
}
|
||||
#endif
|
||||
|
||||
bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr )
|
||||
{
|
||||
@@ -2330,6 +2532,7 @@ namespace vr
|
||||
{
|
||||
m_pSettings->GetString( pchSection, pchSettingsKey, pchValue, unValueLen, peError );
|
||||
}
|
||||
#ifndef OPENVR_NO_STL
|
||||
std::string GetString( const std::string & sSection, const std::string & sSettingsKey, EVRSettingsError *peError = nullptr )
|
||||
{
|
||||
char buf[4096];
|
||||
@@ -2342,6 +2545,7 @@ namespace vr
|
||||
else
|
||||
return "";
|
||||
}
|
||||
#endif
|
||||
|
||||
void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr )
|
||||
{
|
||||
@@ -2357,6 +2561,7 @@ namespace vr
|
||||
//-----------------------------------------------------------------------------
|
||||
// steamvr keys
|
||||
static const char * const k_pch_SteamVR_Section = "steamvr";
|
||||
static const char * const k_pch_SteamVR_Contrast_Float = "contrast";
|
||||
static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd";
|
||||
static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
|
||||
static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
|
||||
@@ -2374,6 +2579,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_GridColor_String = "gridColor";
|
||||
static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
|
||||
static const char * const k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor";
|
||||
static const char * const k_pch_SteamVR_StartColor_String = "startColor";
|
||||
static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage";
|
||||
static const char * const k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences";
|
||||
static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
|
||||
@@ -2386,10 +2592,17 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution";
|
||||
static const char * const k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing";
|
||||
static const char * const k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride";
|
||||
static const char * const k_pch_SteamVR_FoveatedSharpening_Bool = "sharpening";
|
||||
static const char * const k_pch_SteamVR_FoveatedSharpeningOverride_Int32 = "sharpeningOverride";
|
||||
static const char * const k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle";
|
||||
static const char * const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict";
|
||||
static const char * const k_pch_SteamVR_WorldScale_Float = "worldScale";
|
||||
static const char * const k_pch_SteamVR_FovScale_Int32 = "fovScale";
|
||||
static const char * const k_pch_SteamVR_FovScaleInner_Int32 = "fovScaleInner";
|
||||
static const char * const k_pch_SteamVR_FovScaleUpper_Int32 = "fovScaleUpper";
|
||||
static const char * const k_pch_SteamVR_FovScaleLower_Int32 = "fovScaleLower";
|
||||
static const char * const k_pch_SteamVR_FovScaleFormat_Int32 = "fovScaleFormat";
|
||||
static const char * const k_pch_SteamVR_FovScaleLetterboxed_Bool = "fovScaleLetterboxed";
|
||||
static const char * const k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync";
|
||||
static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
|
||||
static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView";
|
||||
@@ -2413,7 +2626,6 @@ namespace vr
|
||||
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_DebugInputBinding = "debugInputBinding";
|
||||
static const char * const k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid";
|
||||
static const char * const k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling";
|
||||
@@ -2434,6 +2646,13 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility";
|
||||
static const char * const k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode";
|
||||
static const char * const k_pch_SteamVR_UsePrism_Bool = "usePrism";
|
||||
static const char * const k_pch_SteamVR_AllowFallbackMirrorWindowLinux_Bool = "allowFallbackMirrorWindowLinux";
|
||||
static const char * const k_pch_SteamVR_DisableKeyboardPrivacy_Bool = "disableKeyboardPrivacy";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// openxr keys
|
||||
static const char * const k_pch_OpenXR_Section = "openxr";
|
||||
static const char * const k_pch_OpenXR_MetaUnityPluginCompatibility_Int32 = "metaUnityPluginCompatibility";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// direct mode keys
|
||||
@@ -2484,6 +2703,8 @@ namespace vr
|
||||
static const char * const k_pch_UserInterface_HidePopupsWhenStatusMinimized_Bool = "HidePopupsWhenStatusMinimized";
|
||||
static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots";
|
||||
static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
|
||||
static const char * const k_pch_UserInterface_CheckStatusInterval_Int = "vrmStatusCheckInterval";
|
||||
static const char * const k_pch_UserInterface_CheckForSteam_Bool = "vrmCheckForSteam";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// notification keys
|
||||
@@ -2571,6 +2792,7 @@ namespace vr
|
||||
static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
static const char * const k_pch_Power_OverrideWindowsPowerScheme_Bool = "overrideWindowsPowerScheme";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// dashboard keys
|
||||
@@ -2578,11 +2800,13 @@ 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_Position = "position";
|
||||
static const char * const k_pch_Dashboard_DesktopScale = "desktopScale";
|
||||
static const char * const k_pch_Dashboard_DashboardScale = "dashboardScale";
|
||||
static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer";
|
||||
static const char * const k_pch_Dashboard_StickyDashboard = "stickyDashboard";
|
||||
static const char * const k_pch_Dashboard_AllowSteamOverlays_Bool = "allowSteamOverlays";
|
||||
static const char * const k_pch_Dashboard_AllowVRGamepadUI_Bool = "allowVRGamepadUI";
|
||||
static const char * const k_pch_Dashboard_SteamMatchesHMDFramerate = "steamMatchesHMDFramerate";
|
||||
static const char * const k_pch_Dashboard_GrabHandleAcceleration = "grabHandleAcceleration";
|
||||
static const char * const k_pch_Dashboard_OverlayBacksideColor_String = "overlayBacksideColor";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// model skin keys
|
||||
@@ -2593,6 +2817,8 @@ namespace vr
|
||||
static const char * const k_pch_Driver_Enable_Bool = "enable";
|
||||
static const char * const k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode";
|
||||
static const char * const k_pch_Driver_LoadPriority_Int32 = "loadPriority";
|
||||
static const char * const k_pch_Driver_Hmd_AllowsClientToControlTextureIndex_Bool = "hmdAllowsClientToControlTextureIndex";
|
||||
static const char * const k_pch_Driver_ForceSystemLayerUseAppPoses_Bool = "forceSystemLayerUseAppPoses";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// web interface keys
|
||||
@@ -2634,6 +2860,9 @@ namespace vr
|
||||
static const char * const k_pch_LastKnown_Section = "LastKnown";
|
||||
static const char* const k_pch_LastKnown_HMDManufacturer_String = "HMDManufacturer";
|
||||
static const char *const k_pch_LastKnown_HMDModel_String = "HMDModel";
|
||||
static const char* const k_pch_LastKnown_ActualHMDDriver_String = "ActualHMDDriver";
|
||||
static const char* const k_pch_LastKnown_HMDSerialNumber_String = "HMDSerialNumber";
|
||||
static const char* const k_pch_LastKnown_HMDRemoteClientID_String = "RemoteClientID"; // uint64 in string
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Dismissed warnings
|
||||
@@ -2650,6 +2879,10 @@ namespace vr
|
||||
// Log of GPU performance
|
||||
static const char * const k_pch_GpuSpeed_Section = "GpuSpeed";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// OpenXR Render Model Extension keys
|
||||
static const char *const k_pch_XRRenderModelCache_Section = "XRRenderModelUuidCache";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
// iservertrackeddevicedriver.h
|
||||
@@ -2764,9 +2997,7 @@ public:
|
||||
* exceed the length of the supplied buffer should be truncated and null terminated */
|
||||
virtual void DebugRequest( const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0;
|
||||
|
||||
// ------------------------------------
|
||||
// Tracking Methods
|
||||
// ------------------------------------
|
||||
/** This interface is unused, and will never be called. */
|
||||
virtual DriverPose_t GetPose() = 0;
|
||||
};
|
||||
|
||||
@@ -2816,9 +3047,12 @@ namespace vr
|
||||
* the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */
|
||||
virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0;
|
||||
|
||||
/** Computes the result of the inverse distortion function for the specified eye, channel, and input UV.
|
||||
* Operation can fail, returns success/failure, on success result is stored in *pResult */
|
||||
virtual bool ComputeInverseDistortion( HmdVector2_t *pResult, EVREye eEye, uint32_t unChannel, float fU, float fV ) = 0;
|
||||
};
|
||||
|
||||
static const char *IVRDisplayComponent_Version = "IVRDisplayComponent_002";
|
||||
static const char *IVRDisplayComponent_Version = "IVRDisplayComponent_003";
|
||||
|
||||
}
|
||||
|
||||
@@ -2885,6 +3119,9 @@ namespace vr
|
||||
|
||||
// Hmd pose used to render this layer.
|
||||
vr::HmdMatrix34_t mHmdPose;
|
||||
|
||||
// Time in seconds from now that mHmdPose was predicted to.
|
||||
float flHmdPosePredictionTimeInSecondsFromNow;
|
||||
};
|
||||
virtual void SubmitLayer( const SubmitLayerPerEye_t( &perEye )[ 2 ] ) {}
|
||||
|
||||
@@ -2901,10 +3138,15 @@ namespace vr
|
||||
virtual void PostPresent( const Throttling_t *pThrottling ) {}
|
||||
|
||||
/** Called to get additional frame timing stats from driver. Check m_nSize for versioning (new members will be added to end only). */
|
||||
virtual void GetFrameTiming( DriverDirectMode_FrameTiming *pFrameTiming ) {}
|
||||
virtual void GetFrameTiming( DriverDirectMode_FrameTiming *pFrameTiming )
|
||||
{
|
||||
/** VRCompositor_ReprojectionMotion_XXX flags get passed in, and since these overlap with VRCompositor_ThrottleMask, they need
|
||||
* to be cleared out if this function isn't implemented; otherwise, those settings will get interpreted as throttling. */
|
||||
pFrameTiming->m_nReprojectionFlags = 0;
|
||||
}
|
||||
};
|
||||
|
||||
static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_008";
|
||||
static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_009";
|
||||
|
||||
}
|
||||
|
||||
@@ -3131,6 +3373,10 @@ class CVRPropertyHelpers
|
||||
public:
|
||||
CVRPropertyHelpers( IVRProperties * pProperties ) : m_pProperties( pProperties ) {}
|
||||
|
||||
/** Gets the typed property according to the caller's expected return type. */
|
||||
template <typename T>
|
||||
T GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError );
|
||||
|
||||
/** Returns a scaler property. If the device index is not valid or the property value type does not match,
|
||||
* this function will return false. */
|
||||
bool GetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L );
|
||||
@@ -3147,7 +3393,6 @@ public:
|
||||
* null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */
|
||||
uint32_t GetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() void *pvBuffer, uint32_t unBufferSize, PropertyTypeTag_t *punTag, ETrackedPropertyError *pError = 0L );
|
||||
|
||||
|
||||
/** Returns a string property. If the device index is not valid or the property is not a string type this function will
|
||||
* return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing
|
||||
* null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */
|
||||
@@ -3200,6 +3445,71 @@ private:
|
||||
};
|
||||
|
||||
|
||||
/** Returns a string property as a std::string. If the device index is not valid or the property is not a string type this function will
|
||||
* return an empty string. */
|
||||
template <>
|
||||
inline std::string CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetStringProperty( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline bool CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetBoolProperty( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline float CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetFloatProperty( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline int32_t CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetInt32Property( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline uint64_t CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetUint64Property( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline HmdVector2_t CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetVec2Property( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline HmdVector3_t CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetVec3Property( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline HmdVector4_t CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetVec4Property( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
template <>
|
||||
inline double CVRPropertyHelpers::GetTypedProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError )
|
||||
{
|
||||
return GetDoubleProperty( ulContainer, prop, peError );
|
||||
}
|
||||
|
||||
|
||||
inline uint32_t CVRPropertyHelpers::GetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() void *pvBuffer, uint32_t unBufferSize, PropertyTypeTag_t *punTag, ETrackedPropertyError *pError )
|
||||
{
|
||||
PropertyRead_t batch;
|
||||
@@ -3369,19 +3679,19 @@ inline uint64_t CVRPropertyHelpers::GetUint64Property( PropertyContainerHandle_t
|
||||
|
||||
inline HmdVector2_t CVRPropertyHelpers::GetVec2Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError )
|
||||
{
|
||||
HmdVector2_t defaultval = { 0 };
|
||||
HmdVector2_t defaultval = { { 0, 0 } };
|
||||
return GetPropertyHelper<HmdVector2_t>( ulContainerHandle, prop, pError, defaultval, k_unHmdVector2PropertyTag );
|
||||
}
|
||||
|
||||
inline HmdVector3_t CVRPropertyHelpers::GetVec3Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError )
|
||||
{
|
||||
HmdVector3_t defaultval = { 0 };
|
||||
HmdVector3_t defaultval = { { 0, 0, 0 } };
|
||||
return GetPropertyHelper<HmdVector3_t>( ulContainerHandle, prop, pError, defaultval, k_unHmdVector3PropertyTag );
|
||||
}
|
||||
|
||||
inline HmdVector4_t CVRPropertyHelpers::GetVec4Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError )
|
||||
{
|
||||
HmdVector4_t defaultval = { 0 };
|
||||
HmdVector4_t defaultval = { { 0, 0, 0, 0 } };
|
||||
return GetPropertyHelper<HmdVector4_t>( ulContainerHandle, prop, pError, defaultval, k_unHmdVector4PropertyTag );
|
||||
}
|
||||
|
||||
@@ -3515,10 +3825,6 @@ inline bool CVRPropertyHelpers::IsPropertySet( PropertyContainerHandle_t ulConta
|
||||
|
||||
namespace vr
|
||||
{
|
||||
|
||||
typedef uint64_t VRInputComponentHandle_t;
|
||||
static const VRInputComponentHandle_t k_ulInvalidInputComponentHandle = 0;
|
||||
|
||||
enum EVRScalarType
|
||||
{
|
||||
VRScalarType_Absolute = 0,
|
||||
@@ -3557,9 +3863,20 @@ namespace vr
|
||||
/** Updates a skeleton component. */
|
||||
virtual EVRInputError UpdateSkeletonComponent( VRInputComponentHandle_t ulComponent, EVRSkeletalMotionRange eMotionRange, const VRBoneTransform_t *pTransforms, uint32_t unTransformCount ) = 0;
|
||||
|
||||
/** Creates a pose component */
|
||||
virtual EVRInputError CreatePoseComponent( PropertyContainerHandle_t ulContainer, const char *pchName, VRInputComponentHandle_t *pHandle ) = 0;
|
||||
|
||||
/** Updates a pose component. */
|
||||
virtual EVRInputError UpdatePoseComponent( VRInputComponentHandle_t ulComponent, const HmdMatrix34_t *pMatPoseOffset, double fTimeOffset ) = 0;
|
||||
|
||||
/** Creates an eye tracking component **/
|
||||
virtual EVRInputError CreateEyeTrackingComponent( PropertyContainerHandle_t ulContainer, const char *pchName, VRInputComponentHandle_t *pHandle ) = 0;
|
||||
|
||||
/** Updates an eye tracking component. */
|
||||
virtual EVRInputError UpdateEyeTrackingComponent( VRInputComponentHandle_t ulComponent, const VREyeTrackingData_t *pEyeTrackingData, double fTimeOffset ) = 0;
|
||||
};
|
||||
|
||||
static const char * const IVRDriverInput_Version = "IVRDriverInput_003";
|
||||
static const char * const IVRDriverInput_Version = "IVRDriverInput_004";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
@@ -3854,7 +4171,7 @@ static const uint64_t k_ulInvalidIOBufferHandle = 0;
|
||||
virtual bool HasReaders( vr::IOBufferHandle_t ulBuffer ) = 0;
|
||||
};
|
||||
|
||||
static const char *IVRIOBuffer_Version = "IVRIOBuffer_002";
|
||||
static const char * const IVRIOBuffer_Version = "IVRIOBuffer_002";
|
||||
}
|
||||
|
||||
// ivrdrivermanager.h
|
||||
@@ -3974,6 +4291,83 @@ namespace vr
|
||||
|
||||
} // namespace vr
|
||||
|
||||
// ivripcresourcemanagerclient.h
|
||||
|
||||
namespace vr
|
||||
{
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Purpose: Interact with the IPCResourceManager
|
||||
// -----------------------------------------------------------------------------
|
||||
class IVRIPCResourceManagerClient
|
||||
{
|
||||
public:
|
||||
/** Create a new tracked Vulkan Image
|
||||
*
|
||||
* nImageFormat: in VkFormat
|
||||
*/
|
||||
virtual bool NewSharedVulkanImage( uint32_t nImageFormat, uint32_t nWidth, uint32_t nHeight, bool bRenderable, bool bMappable, bool bComputeAccess, uint32_t unMipLevels, uint32_t unArrayLayerCount, uint32_t unAdditionalVkCreateFlags, uint32_t unAdditionalVkUsageFlags, vr::SharedTextureHandle_t *pSharedHandle ) = 0;
|
||||
|
||||
/** Create a new tracked Vulkan Buffer */
|
||||
virtual bool NewSharedVulkanBuffer( uint32_t nSize, uint32_t nUsageFlags, vr::SharedTextureHandle_t *pSharedHandle ) = 0;
|
||||
|
||||
/** Create a new tracked Vulkan Semaphore */
|
||||
virtual bool NewSharedVulkanSemaphore( bool bCounting, vr::SharedTextureHandle_t *pSharedHandle ) = 0;
|
||||
|
||||
/** Grab a reference to hSharedHandle, and optionally generate a new IPC handle if pNewIpcHandle is not nullptr */
|
||||
virtual bool RefResource( vr::SharedTextureHandle_t hSharedHandle, uint64_t *pNewIpcHandle ) = 0;
|
||||
|
||||
/** Drop a reference to hSharedHandle */
|
||||
virtual bool UnrefResource( vr::SharedTextureHandle_t hSharedHandle ) = 0;
|
||||
|
||||
/* Get all the DRM formats we support using DMA-BUF images for.
|
||||
*
|
||||
* pOutFormatCount and pOutFormats function like Vulkan:
|
||||
* - If pOutFormats is NULL, then pOutFormatCount will be overwritten with the format count.
|
||||
* - If pOutFormats is not NULL, then pOutFormatCount specifies the size of the pOutFormats array,
|
||||
* and will be overwritten with the number of formats written to the array.
|
||||
*
|
||||
* If the function fails, false is returned, and pOutFormatCount will be 0.
|
||||
* Supported on Linux only.
|
||||
*/
|
||||
virtual bool GetDmabufFormats( uint32_t *pOutFormatCount, uint32_t *pOutFormats ) = 0;
|
||||
|
||||
/** Get dmabuf modifiers we are allowed to use.
|
||||
*
|
||||
* pOutModifierCount and pOutModifiers function like Vulkan:
|
||||
* - If pOutModifiers is NULL, then pOutModifierCount will be overwritten with the modifier count.
|
||||
* - If pOutModifiers is not NULL, then pOutModifierCount specifies the size of the pOutModifiers array,
|
||||
* and will be overwritten with the number of modifiers written to the array.
|
||||
*
|
||||
* If modifiers are not supported, a single DRM_FORMAT_MOD_INVALID entry will be returned.
|
||||
*
|
||||
* If the function fails, false is returned, and pOutModifierCount will be 0.
|
||||
* Supported on Linux only.
|
||||
*/
|
||||
virtual bool GetDmabufModifiers( vr::EVRApplicationType eApplicationType, uint32_t unDRMFormat, uint32_t *pOutModifierCount, uint64_t *pOutModifiers ) = 0;
|
||||
|
||||
/** Import a dmabuf directly.
|
||||
* Note: the FD you pass in will be dup'ed, so you must close it yourself.
|
||||
* This function does NOT take ownership of the fd you pass in.
|
||||
* Supported on Linux only.
|
||||
*/
|
||||
virtual bool ImportDmabuf( vr::EVRApplicationType eApplicationType, vr::DmabufAttributes_t *pDmabufAttributes, vr::SharedTextureHandle_t *pSharedHandle ) = 0;
|
||||
|
||||
/** Consumes an IPC handle (eg. from RefResource) and returns a file-descriptor.
|
||||
* Caller acquires ownership of fd and is responsible for closing it.
|
||||
* Supported on Linux only.
|
||||
*/
|
||||
virtual bool ReceiveSharedFd( uint64_t ulIpcHandle, int *pOutFd ) = 0;
|
||||
|
||||
protected:
|
||||
/** Non-deletable */
|
||||
virtual ~IVRIPCResourceManagerClient() {};
|
||||
};
|
||||
|
||||
static const char *IVRIPCResourceManagerClient_Version = "IVRIPCResourceManagerClient_003";
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
namespace vr
|
||||
@@ -3992,6 +4386,7 @@ namespace vr
|
||||
IVRDriverManager_Version,
|
||||
IVRResources_Version,
|
||||
IVRCompositorPluginProvider_Version,
|
||||
IVRIPCResourceManagerClient_Version,
|
||||
nullptr
|
||||
};
|
||||
|
||||
@@ -4140,6 +4535,16 @@ namespace vr
|
||||
return m_pVRDriverSpatialAnchors;
|
||||
}
|
||||
|
||||
IVRIPCResourceManagerClient *VRIPCResourceManager()
|
||||
{
|
||||
if ( m_pVRIPCResourceManager == nullptr )
|
||||
{
|
||||
EVRInitError eError;
|
||||
m_pVRIPCResourceManager = ( IVRIPCResourceManagerClient * )VRDriverContext()->GetGenericInterface( IVRIPCResourceManagerClient_Version, &eError );
|
||||
}
|
||||
return m_pVRIPCResourceManager;
|
||||
}
|
||||
|
||||
private:
|
||||
CVRPropertyHelpers m_propertyHelpers;
|
||||
CVRHiddenAreaHelpers m_hiddenAreaHelpers;
|
||||
@@ -4155,6 +4560,7 @@ namespace vr
|
||||
IVRDriverInput *m_pVRDriverInput;
|
||||
IVRIOBuffer *m_pVRIOBuffer;
|
||||
IVRDriverSpatialAnchors *m_pVRDriverSpatialAnchors;
|
||||
IVRIPCResourceManagerClient *m_pVRIPCResourceManager;
|
||||
};
|
||||
|
||||
inline COpenVRDriverContext &OpenVRInternal_ModuleServerDriverContext()
|
||||
@@ -4177,6 +4583,7 @@ namespace vr
|
||||
inline IVRDriverInput *VR_CALLTYPE VRDriverInput() { return OpenVRInternal_ModuleServerDriverContext().VRDriverInput(); }
|
||||
inline IVRIOBuffer *VR_CALLTYPE VRIOBuffer() { return OpenVRInternal_ModuleServerDriverContext().VRIOBuffer(); }
|
||||
inline IVRDriverSpatialAnchors *VR_CALLTYPE VRDriverSpatialAnchors() { return OpenVRInternal_ModuleServerDriverContext().VRDriverSpatialAnchors(); }
|
||||
inline IVRIPCResourceManagerClient *VR_CALLTYPE VRIPCResourceManager() { return OpenVRInternal_ModuleServerDriverContext().VRIPCResourceManager(); }
|
||||
|
||||
inline void COpenVRDriverContext::Clear()
|
||||
{
|
||||
@@ -4191,11 +4598,13 @@ namespace vr
|
||||
m_pVRDriverInput = nullptr;
|
||||
m_pVRIOBuffer = nullptr;
|
||||
m_pVRDriverSpatialAnchors = nullptr;
|
||||
m_pVRIPCResourceManager = nullptr;
|
||||
}
|
||||
|
||||
inline EVRInitError COpenVRDriverContext::InitServer()
|
||||
{
|
||||
Clear();
|
||||
// VRIPCResourceManager initialized async.
|
||||
if ( !VRServerDriverHost()
|
||||
|| !VRSettings()
|
||||
|| !VRProperties()
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1 +1 @@
|
||||
{ "major": 5, "minor": 8, "patch": 11, "updateMessage": "", "optionalMessage": "" }
|
||||
{ "major": 5, "minor": 8, "patch": 17, "updateMessage": "", "optionalMessage": "" }
|
||||
|
||||
Reference in New Issue
Block a user