merge mainline changes into qt6

This commit is contained in:
ykeara
2026-09-25 15:06:43 -05:00
30 changed files with 2965 additions and 450 deletions
+1 -1
View File
@@ -1 +1 @@
5.8.11-release 5.8.17-release
+12
View File
@@ -0,0 +1,12 @@
include(common-msvc.pri)
warnings_as_errors {
# Warnings as errors
QMAKE_CXXFLAGS += /WX
}
# Enables Link Time Optimization
QMAKE_CXXFLAGS += /GL
# Force standards-conformance
# QMAKE_CXXFLAGS += /permissive-
+101 -32
View File
@@ -511,6 +511,31 @@ void OverlayController::SetWidget( QQuickItem* quickItem,
} }
qWarning() << "Profile Not Found for Auto Apply Chaperone!"; qWarning() << "Profile Not Found for Auto Apply Chaperone!";
} }
auto indexList = ovr_system_wrapper::getAllConnectedDevices();
//Logging for troubleshooting
for (auto device : indexList)
{
auto info = ovr_system_wrapper::getInt32TrackedProperty(device, vr::Prop_ControllerRoleHint_Int32);
//auto error = info.first;
auto ctrlRole = info.second;
if ( vr::TrackedDeviceClass_HMD == ctrlRole )
{
LOG(INFO) << "HMD is: " << ovr_system_wrapper::getDeviceName(device);
continue;
}
if ( vr::TrackedControllerRole_LeftHand == ctrlRole )
{
LOG(INFO) << "Controller (L) is: " << ovr_system_wrapper::getDeviceName(device);
continue;
}
if ( vr::TrackedControllerRole_RightHand == ctrlRole )
{
LOG(INFO) << "Controller (R) is: " << ovr_system_wrapper::getDeviceName(device);
continue;
}
}
LOG(INFO)<< "Initilizaion is complete--------------------------------------------------";
} }
void OverlayController::OnRenderRequest() void OverlayController::OnRenderRequest()
@@ -1115,7 +1140,7 @@ void OverlayController::mainEventLoop()
processInputBindings(); processInputBindings();
vr::VREvent_t vrEvent; vr::VREvent_t vrEvent;
bool chaperoneDataAlreadyUpdated = false; //bool chaperoneDataAlreadyUpdated = false;
while ( pollNextEvent( m_ulOverlayHandle, &vrEvent ) ) while ( pollNextEvent( m_ulOverlayHandle, &vrEvent ) )
{ {
switch ( vrEvent.eventType ) switch ( vrEvent.eventType )
@@ -1223,17 +1248,39 @@ void OverlayController::mainEventLoop()
qDebug() << "Dashboard deactivated"; qDebug() << "Dashboard deactivated";
m_dashboardVisible = false; m_dashboardVisible = false;
settings::saveChangedSettings(); settings::saveChangedSettings();
if(0UL != m_lastTextUID){
submitLastTextField(m_lastTextUID);
m_lastTextUID = 0;
}
} }
break; break;
case vr::VREvent_KeyboardDone: case vr::VREvent_HideKeyboard:
{ {
char keyboardBuffer[1024]; if(0UL != m_lastTextUID){
vr::VROverlay()->GetKeyboardText( keyboardBuffer, 1024 ); submitLastTextField(m_lastTextUID);
m_lastTextUID = 0;
}
}
break;
case vr::VREvent_KeyboardCharInput:
{
char keyboardBuffer[64];
vr::VROverlay()->GetKeyboardText( keyboardBuffer, 64 );
emit keyBoardInputSignal( QString( keyboardBuffer ), emit keyBoardInputSignal( QString( keyboardBuffer ),
static_cast<unsigned long>( static_cast<unsigned long>(
vrEvent.data.keyboard.uUserValue ) ); 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; break;
case vr::VREvent_SeatedZeroPoseReset: case vr::VREvent_SeatedZeroPoseReset:
@@ -1243,6 +1290,7 @@ void OverlayController::mainEventLoop()
} }
break; break;
//TODO 8/6/2025, I don't this is necessary anymore, but marking until further testing
// Multiple ChaperoneUniverseHasChanged are often // Multiple ChaperoneUniverseHasChanged are often
// emitted at the same time (some with a little bit of // emitted at the same time (some with a little bit of
// delay) There is no sure way to recognize redundant // delay) There is no sure way to recognize redundant
@@ -1250,29 +1298,33 @@ void OverlayController::mainEventLoop()
// the same call of OnTimeoutPumpEvents() INFO Removed // the same call of OnTimeoutPumpEvents() INFO Removed
// logging on play space mover for possible crashing // logging on play space mover for possible crashing
// issues. // issues.
case vr::VREvent_ChaperoneUniverseHasChanged: // case vr::VREvent_ChaperoneUniverseHasChanged:
{ // {
uint64_t previousUniverseId // uint64_t previousUniverseId
= vrEvent.data.chaperone.m_nPreviousUniverse; // = vrEvent.data.chaperone.m_nPreviousUniverse;
uint64_t currentUniverseId // uint64_t currentUniverseId
= vrEvent.data.chaperone.m_nCurrentUniverse; // = vrEvent.data.chaperone.m_nCurrentUniverse;
qInfo() << "(VREvent) ChaperoneUniverseHasChanged... Previous : " // LOG( INFO )
<< previousUniverseId << " Current:" << currentUniverseId; // << "(VREvent) ChaperoneUniverseHasChanged... Previous : "
if ( !chaperoneDataAlreadyUpdated ) // << previousUniverseId << " Current:" << currentUniverseId;
{ // if ( !chaperoneDataAlreadyUpdated )
m_chaperoneUtils.loadChaperoneData(); // {
chaperoneDataAlreadyUpdated = true; // m_chaperoneUtils.loadChaperoneData();
} // chaperoneDataAlreadyUpdated = true;
if ( previousUniverseId == 0 // }
&& !m_moveCenterTabController.isInitComplete() ) // //TODO 8/3/2026 With newer steamvr Updates, this is not same reliable behavior.
{ // //Valve thought they saw issue, but Moving away from a potentially un-reliable metric is preffered
m_moveCenterTabController.zeroOffsets(); // //Additionally, some of the related effects are marked as deprected via openvr
} // //It appears, as vavle would prefer to deprecate the whole stack or already has.
} // // if ( previousUniverseId == 0
// // && !m_moveCenterTabController.isInitComplete() )
// // {
// // m_moveCenterTabController.zeroOffsets();
// // }
// }
break; break;
case vr::VREvent_Input_ActionManifestReloaded: case vr::VREvent_Input_ActionManifestReloaded:
{ {
// qWarning() << "Action Manifest Reloaded";
if ( m_steamVRTabController.perAppBindEnabled() ) if ( m_steamVRTabController.perAppBindEnabled() )
{ {
m_steamVRTabController.applyAllCustomBindings(); m_steamVRTabController.applyAllCustomBindings();
@@ -1286,7 +1338,6 @@ void OverlayController::mainEventLoop()
if ( m_incomingReset ) if ( m_incomingReset )
{ {
m_incomingReset = false; m_incomingReset = false;
qInfo() << "Reset zero event recorded";
m_moveCenterTabController.incomingZeroReset(); m_moveCenterTabController.incomingZeroReset();
} }
@@ -1367,22 +1418,31 @@ void OverlayController::RotateUniverseCenter(
{ {
if ( yAngle != 0.0f ) if ( yAngle != 0.0f )
{ {
if ( commit ) // if ( commit )
{ // {
vr::VRChaperoneSetup()->HideWorkingSetPreview(); // vr::VRChaperoneSetup()->HideWorkingSetPreview();
vr::VRChaperoneSetup()->RevertWorkingCopy(); // vr::VRChaperoneSetup()->RevertWorkingCopy();
} // }
vr::HmdMatrix34_t curPos; vr::HmdMatrix34_t curPos;
auto calState = vr::VRChaperone()->GetCalibrationState();
LOG( INFO ) << "Calibration State on Rotate is: " << calState;
if ( universe == vr::TrackingUniverseStanding ) if ( universe == vr::TrackingUniverseStanding )
{ {
vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose( vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose(
&curPos ); &curPos );
} }
else else if(universe == vr::TrackingUniverseSeated)
{ {
vr::VRChaperoneSetup()->GetWorkingSeatedZeroPoseToRawTrackingPose( vr::VRChaperoneSetup()->GetWorkingSeatedZeroPoseToRawTrackingPose(
&curPos ); &curPos );
} }
else
{
//TODO 8/3/26, will see if this causes issues
//should exclusively happen with openxr
LOG(INFO) << "rotating on undefined tracking universe probably openxr";
vr::VRChaperoneSetup()->GetLiveSeatedZeroPoseToRawTrackingPose(&curPos);
}
vr::HmdMatrix34_t rotMat; vr::HmdMatrix34_t rotMat;
vr::HmdMatrix34_t newPos; vr::HmdMatrix34_t newPos;
@@ -1547,11 +1607,20 @@ const vr::VROverlayHandle_t& OverlayController::overlayThumbnailHandle()
void OverlayController::showKeyboard( QString existingText, void OverlayController::showKeyboard( QString existingText,
unsigned long userValue ) 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( vr::VROverlay()->ShowKeyboardForOverlay(
m_ulOverlayHandle, m_ulOverlayHandle,
vr::k_EGamepadTextInputModeNormal, vr::k_EGamepadTextInputModeNormal,
vr::k_EGamepadTextInputLineModeSingleLine, vr::k_EGamepadTextInputLineModeSingleLine,
0, vr::KeyboardFlag_Modal+vr::KeyboardFlag_Minimal+vr::KeyboardFlag_HideDoneKey,
"Advanced Settings Overlay", "Advanced Settings Overlay",
1024, 1024,
existingText.toStdString().c_str(), existingText.toStdString().c_str(),
+2
View File
@@ -145,6 +145,7 @@ private:
QString m_updateMessage = ""; QString m_updateMessage = "";
QString m_optionalMessage = ""; QString m_optionalMessage = "";
QString m_versionCheckText = ""; QString m_versionCheckText = "";
unsigned long m_lastTextUID = 0;
QUrl m_runtimePathUrl; QUrl m_runtimePathUrl;
@@ -314,6 +315,7 @@ signals:
void autoApplyChaperoneEnabledChanged( bool value ); void autoApplyChaperoneEnabledChanged( bool value );
void soundVolumeChanged( double value ); void soundVolumeChanged( double value );
void desktopModeToggleChanged( bool value ); void desktopModeToggleChanged( bool value );
void submitLastTextField(unsigned long value = 0);
}; };
} // namespace advsettings } // namespace advsettings
+4
View File
@@ -23,6 +23,10 @@
{ {
"controller_type": "generic_hmd", "controller_type": "generic_hmd",
"binding_url": "default_action_manifests/ovras-team.advancedsettings_default_hmd.json" "binding_url": "default_action_manifests/ovras-team.advancedsettings_default_hmd.json"
},
{
"controller_type": "frame_controller",
"binding_url": "default_action_manifests/ovras-team.advancedsettings_default_frame.json"
} }
], ],
@@ -0,0 +1,158 @@
{
"action_manifest_version" : 0,
"alias_info" : {},
"app_key" : "steam.overlay.1009850",
"bindings" : {
"/actions/haptic" : {
"haptics" : [
{
"output" : "/actions/haptic/out/hapticsleft",
"path" : "/user/hand/left/output/haptic"
},
{
"output" : "/actions/haptic/out/hapticsright",
"path" : "/user/hand/right/output/haptic"
}
],
"poses" : [],
"skeleton" : [],
"sources" : [
{
"inputs" : {},
"mode" : "none",
"parameters" : {},
"path" : "/user/hand/left/input/dpad_left"
},
{
"inputs" : {},
"mode" : "none",
"parameters" : {},
"path" : "/user/hand/left/input/dpad_right"
},
{
"inputs" : {},
"mode" : "none",
"parameters" : {},
"path" : "/user/hand/left/input/dpad_up"
},
{
"inputs" : {},
"mode" : "none",
"parameters" : {},
"path" : "/user/hand/right/input/b"
},
{
"inputs" : {},
"mode" : "none",
"parameters" : {},
"path" : "/user/hand/right/input/x"
},
{
"inputs" : {},
"mode" : "none",
"parameters" : {},
"path" : "/user/hand/right/input/y"
}
]
},
"/actions/motion" : {
"chords" : [
{
"inputs" : [
[ "/user/hand/left/input/dpad_down", "single" ],
[ "/user/hand/right/input/x", "touch" ],
[ "/user/hand/right/input/a", "touch" ]
],
"output" : "/actions/motion/in/resetoffsets"
}
],
"poses" : [],
"skeleton" : [],
"sources" : [
{
"inputs" : {
"click" : {
"output" : "/actions/motion/in/lefthandspaceturn"
}
},
"mode" : "button",
"parameters" : {},
"path" : "/user/hand/left/input/dpad_up"
},
{
"inputs" : {
"click" : {
"output" : "/actions/motion/in/optionaloverridelefthandspacedrag"
}
},
"mode" : "button",
"parameters" : {},
"path" : "/user/hand/left/input/dpad_up"
},
{
"inputs" : {
"click" : {
"output" : "/actions/motion/in/swapspacedragtolefthandoverride"
}
},
"mode" : "button",
"parameters" : {},
"path" : "/user/hand/left/input/dpad_up"
},
{
"inputs" : {
"click" : {
"output" : "/actions/motion/in/righthandspaceturn"
}
},
"mode" : "button",
"parameters" : {},
"path" : "/user/hand/right/input/y"
},
{
"inputs" : {
"click" : {
"output" : "/actions/motion/in/optionaloverriderighthandspacedrag"
}
},
"mode" : "button",
"parameters" : {},
"path" : "/user/hand/right/input/y"
},
{
"inputs" : {
"click" : {
"output" : "/actions/motion/in/swapspacedragtorighthandoverride"
}
},
"mode" : "button",
"parameters" : {},
"path" : "/user/hand/right/input/y"
}
]
},
"/actions/system" : {
"poses" : [],
"skeleton" : [],
"sources" : [
{
"inputs" : {
"click" : {
"output" : "/actions/system/in/pushtotalk"
}
},
"mode" : "button",
"parameters" : {},
"path" : "/user/hand/left/input/bumper"
}
]
}
},
"category" : "steamvr_input",
"controller_type" : "frame_controller",
"description" : "",
"interaction_profile" : "",
"name" : "OVRAS Frame Default",
"options" : {},
"simulated_actions" : []
}
+17 -17
View File
@@ -165,15 +165,15 @@ MyStackViewPage {
Connections { Connections {
target: MoveCenterTabController target: MoveCenterTabController
function onTrackingUniverseChanged() { onTrackingUniverseChanged: {
if (MoveCenterTabController.trackingUniverse === 0) { // if (MoveCenterTabController.trackingUniverse === 0) {
fixButton.enabled = false // fixButton.enabled = false
recenterButton.enabled = false // recenterButton.enabled = false
zeroSpaceButton.enabled = false // zeroSpaceButton.enabled = false
revertButton.enabled = false // revertButton.enabled = false
undoFixButton.enabled = false // undoFixButton.enabled = false
seatedWarningText.visible = true // seatedWarningText.visible = true
} else if (MoveCenterTabController.trackingUniverse === 1) { // } else if (MoveCenterTabController.trackingUniverse === 1) {
fixButton.enabled = true fixButton.enabled = true
recenterButton.enabled = true recenterButton.enabled = true
zeroSpaceButton.enabled = true zeroSpaceButton.enabled = true
@@ -181,14 +181,14 @@ MyStackViewPage {
// undoFixButton.enabled = true // undoFixButton.enabled = true
// TODO Fix Undo Feature -^ // TODO Fix Undo Feature -^
seatedWarningText.visible = false seatedWarningText.visible = false
} else { // } else {
fixButton.enabled = false // fixButton.enabled = false
recenterButton.enabled = false // recenterButton.enabled = false
zeroSpaceButton.enabled = false // zeroSpaceButton.enabled = false
revertButton.enabled = false // revertButton.enabled = false
undoFixButton.enabled = false // undoFixButton.enabled = false
seatedWarningText.visible = false // seatedWarningText.visible = false
} // }
} }
} }
+52 -5
View File
@@ -5,6 +5,7 @@ import ovras.advsettings 1.0
TextField { TextField {
property int keyBoardUID: 0 property int keyBoardUID: 0
property string savedText: "" property string savedText: ""
property bool active: false
id: myTextField id: myTextField
color: "#d9dbe0" color: "#d9dbe0"
text: "" text: ""
@@ -18,19 +19,25 @@ TextField {
} }
onClicked: { onClicked: {
myTextField.forceActiveFocus() myTextField.forceActiveFocus()
active = true;
} }
} }
onActiveFocusChanged: { onActiveFocusChanged: {
if (activeFocus) { if (activeFocus) {
active = true;
if (!OverlayController.desktopMode) { if (!OverlayController.desktopMode) {
OverlayController.showKeyboard(text, keyBoardUID) OverlayController.showKeyboard(text, keyBoardUID)
} else {
savedText = text
} }
//savedText = text
}
//When box loses focus apply changes
else{
myTextField.onInputEvent(text)
active = false;
} }
} }
onEditingFinished: { onEditingFinished: {
if (OverlayController.desktopMode && savedText !== text) { if(OverlayController.desktopMode){
myTextField.onInputEvent(text) myTextField.onInputEvent(text)
} }
} }
@@ -39,11 +46,51 @@ TextField {
} }
Connections { Connections {
target: OverlayController target: OverlayController
<<<<<<< HEAD
function onKeyBoardInputSignal() { function onKeyBoardInputSignal() {
=======
onSubmitLastTextField:{
//value here is UID
if(value == 0){
active = false;
return;
}
if(value == keyBoardUID && active == true){
myTextField.onInputEvent(text)
active = false;
}
}
onKeyBoardInputSignal: {
>>>>>>> origin/master
if (userValue == keyBoardUID) { if (userValue == keyBoardUID) {
if (myTextField.text !== input) { if(input == '\b'){
myTextField.onInputEvent(input) 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)
//}
} }
} }
} }
@@ -1500,6 +1500,7 @@ void ChaperoneTabController::createNewAutosaveProfile()
true, true,
true, true,
true ); true );
LOG(INFO) <<"Chaperone Automatic Chaperone Profile Saved";
} }
void ChaperoneTabController::applyAutosavedProfile() void ChaperoneTabController::applyAutosavedProfile()
+182 -102
View File
@@ -271,10 +271,11 @@ void MoveCenterTabController::setTrackingUniverse( int value, bool notify )
if ( m_trackingUniverse != value ) if ( m_trackingUniverse != value )
{ {
vr::VRChaperoneSetup()->HideWorkingSetPreview(); vr::VRChaperoneSetup()->HideWorkingSetPreview();
if ( !m_roomSetupModeDetected && value == vr::TrackingUniverseStanding ) //TODO verify
{ // if ( !m_roomSetupModeDetected && value == vr::TrackingUniverseStanding )
reset(); // {
} // reset();
// }
m_trackingUniverse = value; m_trackingUniverse = value;
if ( notify ) if ( notify )
@@ -910,6 +911,7 @@ void MoveCenterTabController::incomingZeroReset()
// However It does appear to effect the recenter method (potentially other // However It does appear to effect the recenter method (potentially other
// aspects) IN mixed tracking environments I get this issue, the check if // aspects) IN mixed tracking environments I get this issue, the check if
// there is an error and apply autosaved profile is hopefully a workaround // there is an error and apply autosaved profile is hopefully a workaround
<<<<<<< HEAD
auto calState = vr::VRChaperone()->GetCalibrationState(); auto calState = vr::VRChaperone()->GetCalibrationState();
qInfo() << "Calibration State on Zero Reset is: " << calState; qInfo() << "Calibration State on Zero Reset is: " << calState;
@@ -946,14 +948,42 @@ void MoveCenterTabController::incomingZeroReset()
m_recenterStages = 0; m_recenterStages = 0;
return; return;
} }
=======
//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 );
vr::VRChaperoneSetup()->GetWorkingSeatedZeroPoseToRawTrackingPose(
&m_seatedCenterForReset );
addOffset(offset);
resetOffsets(true);
//reset();
return;
>>>>>>> origin/master
} }
//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() void MoveCenterTabController::reset()
{ {
// DO NOT attempt to apply autosaved profile on reset, as it is triggered by // DO NOT attempt to apply autosaved profile on reset, as it is triggered by
// the apply chaperone profile Side effects are bad! // the apply chaperone profile Side effects are bad!
<<<<<<< HEAD
auto calState = vr::VRChaperone()->GetCalibrationState(); auto calState = vr::VRChaperone()->GetCalibrationState();
qInfo() << "Calibration State on Reset is: " << calState; qInfo() << "Calibration State on Reset is: " << calState;
=======
//auto calState = vr::VRChaperone()->GetCalibrationState();
//LOG( INFO ) << "Calibration State on Reset is: " << calState;
>>>>>>> origin/master
if ( !m_chaperoneBasisAcquired ) if ( !m_chaperoneBasisAcquired )
{ {
@@ -1013,6 +1043,7 @@ void MoveCenterTabController::reset()
emit rotationChanged( m_rotation ); emit rotationChanged( m_rotation );
} }
//TODO This needs to be renamed, it's mainly for initilization reasons
void MoveCenterTabController::zeroOffsets() void MoveCenterTabController::zeroOffsets()
{ {
// first we'll check if we're outside the max commit distance // first we'll check if we're outside the max commit distance
@@ -1106,13 +1137,17 @@ void MoveCenterTabController::zeroOffsets()
m_pendingZeroOffsets = false; m_pendingZeroOffsets = false;
if ( !m_chaperoneBasisAcquired ) if ( !m_chaperoneBasisAcquired )
{ {
m_chaperoneBasisAcquired = true; //TODO 8/3/2026, leaving this as is currently, Due to unreliable chaperone state information in current SteamVR versions
//this initilization can cause issues.
//m_initComplete = true;
//parent->m_chaperoneTabController.createNewAutosaveProfile();
if ( !m_initComplete ) if ( !m_initComplete )
{ {
setTrackingUniverse( vr::VRCompositor()->GetTrackingSpace() ); setTrackingUniverse( vr::VRCompositor()->GetTrackingSpace() );
if ( parent->isPreviousShutdownSafe() ) //if ( parent->isPreviousShutdownSafe() )
{ //{
auto calState = vr::VRChaperone()->GetCalibrationState(); auto calState = vr::VRChaperone()->GetCalibrationState();
<<<<<<< HEAD
if ( calState == 200 ) if ( calState == 200 )
{ {
qWarning() qWarning()
@@ -1120,11 +1155,17 @@ void MoveCenterTabController::zeroOffsets()
"universe change to finish initialization"; "universe change to finish initialization";
} }
else else
=======
if ( calState != 200 )
>>>>>>> origin/master
{ {
// all init complete, safe to autosave chaperone profile // all init complete, safe to autosave chaperone profile
parent->m_chaperoneTabController.createNewAutosaveProfile(); parent->m_chaperoneTabController.createNewAutosaveProfile();
m_initComplete = true; m_initComplete = true;
m_chaperoneBasisAcquired = true;
LOG( INFO ) << "Chaperone Initilization Complete, Space Drag Now Enabled";
} }
<<<<<<< HEAD
} }
else else
{ {
@@ -1143,6 +1184,26 @@ void MoveCenterTabController::zeroOffsets()
// marked as being safe once more just before our app shuts // marked as being safe once more just before our app shuts
// down properly. // down properly.
parent->setPreviousShutdownSafe( false ); parent->setPreviousShutdownSafe( false );
=======
//}
// else
// {
// // shutdown was unsafe last session!
// LOG( WARNING ) << "DETECTED UNSAFE SHUTDOWN FROM LAST SESSION";
// m_initComplete = false;
// if ( !parent->crashRecoveryDisabled() )
// {
// parent->m_chaperoneTabController.applyAutosavedProfile();
// LOG( INFO ) << "Applying last good chaperone "
// "profile autosave";
// }
// }
// // Now mark previous shutdown as unsafe in case we crash
// // some time during this session. Previous shutdown will be
// // marked as being safe once more just before our app shuts
// // down properly.
// parent->setPreviousShutdownSafe( false );
>>>>>>> origin/master
} }
m_pendingZeroOffsets = true; m_pendingZeroOffsets = true;
} }
@@ -1152,7 +1213,11 @@ void MoveCenterTabController::zeroOffsets()
m_roomSetupModeDetected = false; m_roomSetupModeDetected = false;
} }
<<<<<<< HEAD
qInfo() << "SUCCESS: Chaperone Data Updated and Offsets zeroed out"; qInfo() << "SUCCESS: Chaperone Data Updated and Offsets zeroed out";
=======
//LOG( INFO ) << "SUCCESS: Chaperone Data Updated and Offsets zeroed out";
>>>>>>> origin/master
} }
void MoveCenterTabController::sendSeatedRecenter() void MoveCenterTabController::sendSeatedRecenter()
@@ -1187,6 +1252,7 @@ void MoveCenterTabController::clampVelocity( double* velocity )
void MoveCenterTabController::updateChaperoneResetData() void MoveCenterTabController::updateChaperoneResetData()
{ {
<<<<<<< HEAD
auto cstate = vr::VRChaperone()->GetCalibrationState(); auto cstate = vr::VRChaperone()->GetCalibrationState();
if ( cstate > 199 ) if ( cstate > 199 )
{ {
@@ -1195,10 +1261,21 @@ void MoveCenterTabController::updateChaperoneResetData()
} }
else else
{ {
=======
//auto cstate = vr::VRChaperone()->GetCalibrationState();
//TODO 8/3/26 calibration state is unreliable at best.
// if ( false)//cstate > 199 )
// {
// LOG( WARNING ) << "Chaperone Calibration State is error: " << cstate
// << " While Trying to Update Reset Data";
// }
// else
//{
>>>>>>> origin/master
vr::VRChaperoneSetup()->CommitWorkingCopy( vr::VRChaperoneSetup()->CommitWorkingCopy(
vr::EChaperoneConfigFile_Live ); vr::EChaperoneConfigFile_Live );
vr::VRChaperoneSetup()->RevertWorkingCopy(); vr::VRChaperoneSetup()->RevertWorkingCopy();
} //}
unsigned currentQuadCount = 0; unsigned currentQuadCount = 0;
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo( nullptr, vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo( nullptr,
&currentQuadCount ); &currentQuadCount );
@@ -1898,8 +1975,14 @@ void MoveCenterTabController::resetOffsets( bool resetOffsetsJustPressed )
emit offsetZChanged( m_offsetZ ); emit offsetZChanged( m_offsetZ );
emit rotationChanged( m_rotation ); emit rotationChanged( m_rotation );
updateSpace( true ); updateSpace( true );
<<<<<<< HEAD
auto calState = vr::VRChaperone()->GetCalibrationState(); auto calState = vr::VRChaperone()->GetCalibrationState();
qInfo() << "Calibration State on Reset Offsets is: " << calState; qInfo() << "Calibration State on Reset Offsets is: " << calState;
=======
//auto calState = vr::VRChaperone()->GetCalibrationState();
//LOG( INFO ) << "Calibration State on Reset Offsets is: " << calState;
>>>>>>> origin/master
// if ( calState > 199 && m_initComplete ) // if ( calState > 199 && m_initComplete )
// { // {
@@ -2628,7 +2711,7 @@ void MoveCenterTabController::updateSpace( bool forceUpdate )
} }
// keep the seated origin synced with offsets if in seated mode // 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; vr::HmdMatrix34_t offsetSeatedCenter;
@@ -2751,7 +2834,6 @@ void MoveCenterTabController::eventLoopTick(
vr::VRChaperoneSetup()->RevertWorkingCopy(); vr::VRChaperoneSetup()->RevertWorkingCopy();
} }
setTrackingUniverse( int( universe ) ); setTrackingUniverse( int( universe ) );
// TODO set to allow.
return; return;
} }
@@ -2783,102 +2865,100 @@ void MoveCenterTabController::eventLoopTick(
zeroOffsets(); zeroOffsets();
// m_roomSetupModeDetected is set to false in zeroOffsets() if it's // m_roomSetupModeDetected is set to false in zeroOffsets() if it's
// successful. // successful.
return;
}
setTrackingUniverse( int( universe ) );
// get current space rotation in radians
double angle = m_rotation * k_centidegreesToRadians;
// hmd rotations stats counting doesn't need to be smooth, so we
// skip some frames for performance
if ( m_hmdRotationStatsUpdateCounter >= k_hmdRotationCounterUpdateRate )
{
// device pose index 0 is always the hmd
updateHmdRotationCounter( devicePoses[0], angle );
m_hmdRotationStatsUpdateCounter = 0;
} }
else else
{ {
setTrackingUniverse( int( universe ) ); m_hmdRotationStatsUpdateCounter++;
// get current space rotation in radians
double angle = m_rotation * k_centidegreesToRadians;
// hmd rotations stats counting doesn't need to be smooth, so we
// skip some frames for performance
if ( m_hmdRotationStatsUpdateCounter >= k_hmdRotationCounterUpdateRate )
{
// device pose index 0 is always the hmd
updateHmdRotationCounter( devicePoses[0], angle );
m_hmdRotationStatsUpdateCounter = 0;
}
else
{
m_hmdRotationStatsUpdateCounter++;
}
// only update dynamic motion if the dash is closed
if ( !parent->isDashboardVisible() )
{
// detect new dash closed
if ( m_dashWasOpenPreviousFrame )
{
// reset velocity time points on dash closed so we don't
// factor in the time motion was paused during the open dash
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
}
// force chaperone bounds visible if turn or drag settings
// require
if ( dragBounds()
&& m_activeDragHand != vr::TrackedControllerRole_Invalid )
{
vr::VRChaperone()->ForceBoundsVisible( true );
}
else if ( turnBounds()
&& m_activeTurnHand != vr::TrackedControllerRole_Invalid )
{
vr::VRChaperone()->ForceBoundsVisible( true );
}
// only set back to default every frame if setting is enabled
else if ( turnBounds() || dragBounds() )
{
vr::VRChaperone()->ForceBoundsVisible(
parent->m_chaperoneTabController.forceBounds() );
}
// Smooth turn motion can cause sim-sickness so we check if the
// user wants to skip frames to reduce vection. We use the
// factor squared because of logarithmic human perception.
if ( m_turnComfortFrameSkipCounter >= static_cast<unsigned>(
( turnComfortFactor() * turnComfortFactor() ) ) )
{
updateHandTurn( devicePoses, angle );
m_turnComfortFrameSkipCounter = 0;
}
else
{
m_turnComfortFrameSkipCounter++;
}
// Smooth drag motion can cause sim-sickness so we check if the
// user wants to skip frames to reduce vection. We use the
// factor squared because of logarithmic human perception.
if ( m_dragComfortFrameSkipCounter >= static_cast<unsigned>(
( dragComfortFactor() * dragComfortFactor() ) ) )
{
updateHandDrag( devicePoses, angle );
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
m_dragComfortFrameSkipCounter = 0;
}
else
{
m_dragComfortFrameSkipCounter++;
}
if ( m_gravityActive
&& m_activeDragHand == vr::TrackedControllerRole_Invalid )
{
updateGravity();
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
}
m_dashWasOpenPreviousFrame = false;
}
else
{
// dash is open this frame
m_dashWasOpenPreviousFrame = true;
}
updateSpace();
} }
// only update dynamic motion if the dash is closed
if ( !parent->isDashboardVisible() )
{
// detect new dash closed
if ( m_dashWasOpenPreviousFrame )
{
// reset velocity time points on dash closed so we don't
// factor in the time motion was paused during the open dash
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
}
// force chaperone bounds visible if turn or drag settings
// require
if ( dragBounds()
&& m_activeDragHand != vr::TrackedControllerRole_Invalid )
{
vr::VRChaperone()->ForceBoundsVisible( true );
}
else if ( turnBounds()
&& m_activeTurnHand != vr::TrackedControllerRole_Invalid )
{
vr::VRChaperone()->ForceBoundsVisible( true );
}
// only set back to default every frame if setting is enabled
else if ( turnBounds() || dragBounds() )
{
vr::VRChaperone()->ForceBoundsVisible(
parent->m_chaperoneTabController.forceBounds() );
}
// Smooth turn motion can cause sim-sickness so we check if the
// user wants to skip frames to reduce vection. We use the
// factor squared because of logarithmic human perception.
if ( m_turnComfortFrameSkipCounter >= static_cast<unsigned>(
( turnComfortFactor() * turnComfortFactor() ) ) )
{
updateHandTurn( devicePoses, angle );
m_turnComfortFrameSkipCounter = 0;
}
else
{
m_turnComfortFrameSkipCounter++;
}
// Smooth drag motion can cause sim-sickness so we check if the
// user wants to skip frames to reduce vection. We use the
// factor squared because of logarithmic human perception.
if ( m_dragComfortFrameSkipCounter >= static_cast<unsigned>(
( dragComfortFactor() * dragComfortFactor() ) ) )
{
updateHandDrag( devicePoses, angle );
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
m_dragComfortFrameSkipCounter = 0;
}
else
{
m_dragComfortFrameSkipCounter++;
}
if ( m_gravityActive
&& m_activeDragHand == vr::TrackedControllerRole_Invalid )
{
updateGravity();
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
}
m_dashWasOpenPreviousFrame = false;
}
else
{
// dash is open this frame
m_dashWasOpenPreviousFrame = true;
}
updateSpace();
} }
} // namespace advsettings } // namespace advsettings
@@ -197,6 +197,7 @@ private:
unsigned m_turnComfortFrameSkipCounter = 0; unsigned m_turnComfortFrameSkipCounter = 0;
int m_recenterStages = 0; int m_recenterStages = 0;
int m_chaperoneHasCommit = false; int m_chaperoneHasCommit = false;
int m_openXRSkip = 0;
// Matrix used For Center Marker // Matrix used For Center Marker
vr::HmdMatrix34_t m_offsetmatrix = utils::k_forwardUpMatrix; vr::HmdMatrix34_t m_offsetmatrix = utils::k_forwardUpMatrix;
+3 -4
View File
@@ -509,14 +509,13 @@ void SteamVRTabController::launchBindingUI()
qCritical() qCritical()
<< "failed to get input handle? is your right controller on?"; << "failed to get input handle? is your right controller on?";
} }
bool desktopShow = false;
if ( parent->isDesktopMode() ) if ( parent->isDesktopMode() )
{ {
QDesktopServices::openUrl( desktopShow = true;
QUrl( "http://127.0.0.1:27062/dashboard/controllerbinding.html" ) );
return;
} }
auto error = vr::VRInput()->OpenBindingUI( auto error = vr::VRInput()->OpenBindingUI(
application_strings::applicationKey, actionHandle, inputHandle, false ); application_strings::applicationKey, actionHandle, inputHandle, desktopShow );
if ( error != vr::VRInputError_None ) if ( error != vr::VRInputError_None )
{ {
qCritical() << "Input Error: " << error; qCritical() << "Input Error: " << error;
+14 -2
View File
@@ -8,6 +8,18 @@ and samples. The runtime is under SteamVR in Tools on Steam.
### Documentation ### 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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+520 -79
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+266 -19
View File
@@ -74,6 +74,7 @@ typedef double vrshared_double;
// OpenVR Constants // OpenVR Constants
static const unsigned long MaxDmabufPlaneCount = 4;
static const unsigned long k_nDriverNone = 4294967295; static const unsigned long k_nDriverNone = 4294967295;
static const unsigned long k_unMaxDriverDebugResponseSize = 32768; static const unsigned long k_unMaxDriverDebugResponseSize = 32768;
static const unsigned long k_unTrackedDeviceIndex_Hmd = 0; 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_ulInvalidActionHandle = 0;
static const unsigned long long k_ulInvalidActionSetHandle = 0; static const unsigned long long k_ulInvalidActionSetHandle = 0;
static const unsigned long long k_ulInvalidInputValueHandle = 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 k_unControllerStateAxisCount = 5;
static const unsigned long long k_ulOverlayHandleInvalid = 0; static const unsigned long long k_ulOverlayHandleInvalid = 0;
static const unsigned long k_unMaxDistortionFunctionParameters = 8; static const unsigned long k_unMaxDistortionFunctionParameters = 8;
static const unsigned long k_unScreenshotHandleInvalid = 0; 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 * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_006"; static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_006";
static const unsigned long k_unMaxApplicationKeyLength = 128; static const unsigned long k_unMaxApplicationKeyLength = 128;
static const char * k_pch_MimeType_HomeApp = "vr/home"; static const char * k_pch_MimeType_HomeApp = "vr/home";
static const char * k_pch_MimeType_GameTheater = "vr/game_theater"; 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 * IVRChaperone_Version = "IVRChaperone_004";
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_006"; 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_unVROverlayMaxKeyLength = 128;
static const unsigned long k_unVROverlayMaxNameLength = 128; static const unsigned long k_unVROverlayMaxNameLength = 128;
static const unsigned long k_unMaxOverlayCount = 128; static const unsigned long k_unMaxOverlayCount = 128;
static const unsigned long k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; 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 char * IVROverlayView_Version = "IVROverlayView_003";
static const unsigned long k_unHeadsetViewMaxWidth = 3840; static const unsigned long k_unHeadsetViewMaxWidth = 3840;
static const unsigned long k_unHeadsetViewMaxHeight = 2160; 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_GDC2015 = "gdc2015";
static const char * k_pch_Controller_Component_Base = "base"; 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_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_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 * k_pch_Controller_Component_Status = "status";
static const char * IVRRenderModels_Version = "IVRRenderModels_006"; static const char * IVRRenderModels_Version = "IVRRenderModels_006";
static const unsigned long k_unNotificationTextMaxSize = 256; 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 unsigned long k_unMaxSettingsKeyLength = 128;
static const char * IVRSettings_Version = "IVRSettings_003"; static const char * IVRSettings_Version = "IVRSettings_003";
static const char * k_pch_SteamVR_Section = "steamvr"; 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_RequireHmd_String = "requireHmd";
static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; 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_GridColor_String = "gridColor";
static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
static const char * k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor"; 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_ShowStage_Bool = "showStage";
static const char * k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences"; static const char * k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences";
static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; 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_MaxRecommendedResolution_Int32 = "maxRecommendedResolution";
static const char * k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; static const char * k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing";
static const char * k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; 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_FramesToThrottle_Int32 = "framesToThrottle";
static const char * k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; static const char * k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict";
static const char * k_pch_SteamVR_WorldScale_Float = "worldScale"; static const char * k_pch_SteamVR_WorldScale_Float = "worldScale";
static const char * k_pch_SteamVR_FovScale_Int32 = "fovScale"; 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_DisableAsyncReprojection_Bool = "disableAsync";
static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; 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_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
static const char * k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode"; static const char * k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode";
static const char * k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver"; 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_DebugInputBinding = "debugInputBinding";
static const char * k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid"; static const char * k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid";
static const char * k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling"; 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_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility";
static const char * k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; static const char * k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode";
static const char * k_pch_SteamVR_UsePrism_Bool = "usePrism"; 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_Section = "direct_mode";
static const char * k_pch_DirectMode_Enable_Bool = "enable"; static const char * k_pch_DirectMode_Enable_Bool = "enable";
static const char * k_pch_DirectMode_Count_Int32 = "count"; 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_HidePopupsWhenStatusMinimized_Bool = "HidePopupsWhenStatusMinimized";
static const char * k_pch_UserInterface_Screenshots_Bool = "screenshots"; static const char * k_pch_UserInterface_Screenshots_Bool = "screenshots";
static const char * k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; 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_Section = "notifications";
static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
static const char * k_pch_Keyboard_Section = "keyboard"; 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_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
static const char * k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; 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_Section = "dashboard";
static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
static const char * k_pch_Dashboard_Position = "position"; 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_DashboardScale = "dashboardScale";
static const char * k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; 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_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_modelskin_Section = "modelskins";
static const char * k_pch_Driver_Enable_Bool = "enable"; 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_BlockedBySafemode_Bool = "blocked_by_safe_mode";
static const char * k_pch_Driver_LoadPriority_Int32 = "loadPriority"; 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_WebInterface_Section = "WebInterface";
static const char * k_pch_VRWebHelper_Section = "VRWebHelper"; static const char * k_pch_VRWebHelper_Section = "VRWebHelper";
static const char * k_pch_VRWebHelper_DebuggerEnabled_Bool = "DebuggerEnabled"; 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_Section = "LastKnown";
static const char * k_pch_LastKnown_HMDManufacturer_String = "HMDManufacturer"; static const char * k_pch_LastKnown_HMDManufacturer_String = "HMDManufacturer";
static const char * k_pch_LastKnown_HMDModel_String = "HMDModel"; 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_DismissedWarnings_Section = "DismissedWarnings";
static const char * k_pch_Input_Section = "input"; static const char * k_pch_Input_Section = "input";
static const char * k_pch_Input_LeftThumbstickRotation_Float = "leftThumbstickRotation"; static const char * k_pch_Input_LeftThumbstickRotation_Float = "leftThumbstickRotation";
static const char * k_pch_Input_RightThumbstickRotation_Float = "rightThumbstickRotation"; static const char * k_pch_Input_RightThumbstickRotation_Float = "rightThumbstickRotation";
static const char * k_pch_Input_ThumbstickDeadzone_Float = "thumbstickDeadzone"; static const char * k_pch_Input_ThumbstickDeadzone_Float = "thumbstickDeadzone";
static const char * k_pch_GpuSpeed_Section = "GpuSpeed"; 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 * IVRScreenshots_Version = "IVRScreenshots_001";
static const char * IVRResources_Version = "IVRResources_001"; static const char * IVRResources_Version = "IVRResources_001";
static const char * IVRDriverManager_Version = "IVRDriverManager_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_nActionSetOverlayGlobalPriorityMin = 16777216;
static const int k_nActionSetOverlayGlobalPriorityMax = 33554431; static const int k_nActionSetOverlayGlobalPriorityMax = 33554431;
static const int k_nActionSetPriorityReservedMin = 33554432; 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 unsigned long long k_ulInvalidIOBufferHandle = 0;
static const char * IVRIOBuffer_Version = "IVRIOBuffer_002"; static const char * IVRIOBuffer_Version = "IVRIOBuffer_002";
static const unsigned long k_ulInvalidSpatialAnchorHandle = 0; static const unsigned long k_ulInvalidSpatialAnchorHandle = 0;
static const char * IVRSpatialAnchors_Version = "IVRSpatialAnchors_001"; static const char * IVRSpatialAnchors_Version = "IVRSpatialAnchors_001";
static const char * IVRDebug_Version = "IVRDebug_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 unsigned long long k_ulDisplayRedirectContainer = 25769803779;
static const char * IVRProperties_Version = "IVRProperties_001"; static const char * IVRProperties_Version = "IVRProperties_001";
static const char * k_pchPathUserHandRight = "/user/hand/right"; 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_pchPathUserKeyboard = "/user/keyboard";
static const char * k_pchPathClientAppKey = "/client_info/app_key"; static const char * k_pchPathClientAppKey = "/client_info/app_key";
static const unsigned long long k_ulInvalidPathHandle = 0; 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"; static const char * IVRBlockQueue_Version = "IVRBlockQueue_005";
// OpenVR Enums // OpenVR Enums
@@ -445,6 +477,8 @@ typedef enum ETextureType
ETextureType_TextureType_DirectX12 = 4, ETextureType_TextureType_DirectX12 = 4,
ETextureType_TextureType_DXGISharedHandle = 5, ETextureType_TextureType_DXGISharedHandle = 5,
ETextureType_TextureType_Metal = 6, ETextureType_TextureType_Metal = 6,
ETextureType_TextureType_Reserved = 7,
ETextureType_TextureType_SharedTextureHandle = 8,
} ETextureType; } ETextureType;
typedef enum EColorSpace typedef enum EColorSpace
@@ -558,12 +592,19 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, ETrackedDeviceProperty_Prop_EstimatedDeviceFirstUseTime_Int32 = 1051,
ETrackedDeviceProperty_Prop_DevicePowerUsage_Float = 1052, ETrackedDeviceProperty_Prop_DevicePowerUsage_Float = 1052,
ETrackedDeviceProperty_Prop_IgnoreMotionForStandby_Bool = 1053, 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_ReportsTimeSinceVSync_Bool = 2000,
ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001,
ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002,
ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003, ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003,
ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004, ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004,
ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005, ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64_deprecated = 0,
ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006, ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006,
ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007, ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007,
ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008, ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008,
@@ -646,10 +687,12 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_CameraExposureTime_Float = 2088, ETrackedDeviceProperty_Prop_CameraExposureTime_Float = 2088,
ETrackedDeviceProperty_Prop_CameraGlobalGain_Float = 2089, ETrackedDeviceProperty_Prop_CameraGlobalGain_Float = 2089,
ETrackedDeviceProperty_Prop_DashboardScale_Float = 2091, ETrackedDeviceProperty_Prop_DashboardScale_Float = 2091,
ETrackedDeviceProperty_Prop_PeerButtonInfo_String = 2092,
ETrackedDeviceProperty_Prop_Hmd_SupportsHDR10_Bool = 2093, ETrackedDeviceProperty_Prop_Hmd_SupportsHDR10_Bool = 2093,
ETrackedDeviceProperty_Prop_Hmd_EnableParallelRenderCameras_Bool = 2094, ETrackedDeviceProperty_Prop_Hmd_EnableParallelRenderCameras_Bool = 2094,
ETrackedDeviceProperty_Prop_DriverProvidedChaperoneJson_String = 2095, 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_IpdUIRangeMinMeters_Float = 2100,
ETrackedDeviceProperty_Prop_IpdUIRangeMaxMeters_Float = 2101, ETrackedDeviceProperty_Prop_IpdUIRangeMaxMeters_Float = 2101,
ETrackedDeviceProperty_Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, ETrackedDeviceProperty_Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102,
@@ -658,9 +701,15 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_Hmd_SupportsRoomViewDirect_Bool = 2105, ETrackedDeviceProperty_Prop_Hmd_SupportsRoomViewDirect_Bool = 2105,
ETrackedDeviceProperty_Prop_Hmd_SupportsAppThrottling_Bool = 2106, ETrackedDeviceProperty_Prop_Hmd_SupportsAppThrottling_Bool = 2106,
ETrackedDeviceProperty_Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107, ETrackedDeviceProperty_Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107,
ETrackedDeviceProperty_Prop_DSCVersion_Int32 = 2110, ETrackedDeviceProperty_Prop_DriverDisplaysIPDChanges_Bool = 2108,
ETrackedDeviceProperty_Prop_DSCSliceCount_Int32 = 2111, ETrackedDeviceProperty_Prop_Reserved_2110 = 2110,
ETrackedDeviceProperty_Prop_DSCBPPx16_Int32 = 2112, 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_DriverRequestedMuraCorrectionMode_Int32 = 2200,
ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201,
ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202,
@@ -674,6 +723,14 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_Audio_DefaultRecordingDeviceId_String = 2301, ETrackedDeviceProperty_Prop_Audio_DefaultRecordingDeviceId_String = 2301,
ETrackedDeviceProperty_Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302, ETrackedDeviceProperty_Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302,
ETrackedDeviceProperty_Prop_Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303, 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_AttachedDeviceId_String = 3000,
ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001, ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002, ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
@@ -713,10 +770,19 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool = 6005, ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool = 6005,
ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool = 6006, ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool = 6006,
ETrackedDeviceProperty_Prop_HasSpatialAnchorsSupport_Bool = 6007, 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_ControllerType_String = 7000,
ETrackedDeviceProperty_Prop_ControllerHandSelectionPriority_Int32 = 7002, ETrackedDeviceProperty_Prop_ControllerHandSelectionPriority_Int32 = 7002,
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000, ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000,
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999, 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_Prop_TrackedDeviceProperty_Max = 1000000,
} ETrackedDeviceProperty; } ETrackedDeviceProperty;
@@ -756,11 +822,16 @@ typedef enum EVRSubmitFlags
EVRSubmitFlags_Submit_Reserved = 4, EVRSubmitFlags_Submit_Reserved = 4,
EVRSubmitFlags_Submit_TextureWithPose = 8, EVRSubmitFlags_Submit_TextureWithPose = 8,
EVRSubmitFlags_Submit_TextureWithDepth = 16, EVRSubmitFlags_Submit_TextureWithDepth = 16,
EVRSubmitFlags_Submit_FrameDiscontinuty = 32, EVRSubmitFlags_Submit_FrameDiscontinuity = 32,
EVRSubmitFlags_Submit_VulkanTextureWithArrayData = 64, EVRSubmitFlags_Submit_VulkanTextureWithArrayData = 64,
EVRSubmitFlags_Submit_GlArrayTexture = 128, EVRSubmitFlags_Submit_GlArrayTexture = 128,
EVRSubmitFlags_Submit_IsEgl = 256,
EVRSubmitFlags_Submit_TextureWithMotion = 536,
EVRSubmitFlags_Submit_Reserved2 = 32768, EVRSubmitFlags_Submit_Reserved2 = 32768,
EVRSubmitFlags_Submit_Reserved3 = 65536, EVRSubmitFlags_Submit_Reserved3 = 65536,
EVRSubmitFlags_Submit_Reserved4 = 131072,
EVRSubmitFlags_Submit_Reserved5 = 262144,
EVRSubmitFlags_Submit_Reserved6 = 524288,
} EVRSubmitFlags; } EVRSubmitFlags;
typedef enum EVRState typedef enum EVRState
@@ -793,6 +864,8 @@ typedef enum EVREventType
EVREventType_VREvent_PropertyChanged = 111, EVREventType_VREvent_PropertyChanged = 111,
EVREventType_VREvent_WirelessDisconnect = 112, EVREventType_VREvent_WirelessDisconnect = 112,
EVREventType_VREvent_WirelessReconnect = 113, EVREventType_VREvent_WirelessReconnect = 113,
EVREventType_VREvent_Reserved_0114 = 114,
EVREventType_VREvent_Reserved_0115 = 115,
EVREventType_VREvent_ButtonPress = 200, EVREventType_VREvent_ButtonPress = 200,
EVREventType_VREvent_ButtonUnpress = 201, EVREventType_VREvent_ButtonUnpress = 201,
EVREventType_VREvent_ButtonTouch = 202, EVREventType_VREvent_ButtonTouch = 202,
@@ -826,7 +899,6 @@ typedef enum EVREventType
EVREventType_VREvent_OverlayHidden = 501, EVREventType_VREvent_OverlayHidden = 501,
EVREventType_VREvent_DashboardActivated = 502, EVREventType_VREvent_DashboardActivated = 502,
EVREventType_VREvent_DashboardDeactivated = 503, EVREventType_VREvent_DashboardDeactivated = 503,
EVREventType_VREvent_DashboardRequested = 505,
EVREventType_VREvent_ResetDashboard = 506, EVREventType_VREvent_ResetDashboard = 506,
EVREventType_VREvent_ImageLoaded = 508, EVREventType_VREvent_ImageLoaded = 508,
EVREventType_VREvent_ShowKeyboard = 509, EVREventType_VREvent_ShowKeyboard = 509,
@@ -853,6 +925,20 @@ typedef enum EVREventType
EVREventType_VREvent_StartDashboard = 532, EVREventType_VREvent_StartDashboard = 532,
EVREventType_VREvent_ElevatePrism = 533, EVREventType_VREvent_ElevatePrism = 533,
EVREventType_VREvent_OverlayClosed = 534, 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_Shown = 600,
EVREventType_VREvent_Notification_Hidden = 601, EVREventType_VREvent_Notification_Hidden = 601,
EVREventType_VREvent_Notification_BeginInteraction = 602, EVREventType_VREvent_Notification_BeginInteraction = 602,
@@ -863,6 +949,7 @@ typedef enum EVREventType
EVREventType_VREvent_DriverRequestedQuit = 704, EVREventType_VREvent_DriverRequestedQuit = 704,
EVREventType_VREvent_RestartRequested = 705, EVREventType_VREvent_RestartRequested = 705,
EVREventType_VREvent_InvalidateSwapTextureSets = 706, EVREventType_VREvent_InvalidateSwapTextureSets = 706,
EVREventType_VREvent_RequestDisconnectWirelessHMD = 707,
EVREventType_VREvent_ChaperoneDataHasChanged = 800, EVREventType_VREvent_ChaperoneDataHasChanged = 800,
EVREventType_VREvent_ChaperoneUniverseHasChanged = 801, EVREventType_VREvent_ChaperoneUniverseHasChanged = 801,
EVREventType_VREvent_ChaperoneTempDataHasChanged = 802, EVREventType_VREvent_ChaperoneTempDataHasChanged = 802,
@@ -870,8 +957,14 @@ typedef enum EVREventType
EVREventType_VREvent_SeatedZeroPoseReset = 804, EVREventType_VREvent_SeatedZeroPoseReset = 804,
EVREventType_VREvent_ChaperoneFlushCache = 805, EVREventType_VREvent_ChaperoneFlushCache = 805,
EVREventType_VREvent_ChaperoneRoomSetupStarting = 806, EVREventType_VREvent_ChaperoneRoomSetupStarting = 806,
EVREventType_VREvent_ChaperoneRoomSetupFinished = 807, EVREventType_VREvent_ChaperoneRoomSetupCommitted = 807,
EVREventType_VREvent_StandingZeroPoseReset = 808, 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_AudioSettingsHaveChanged = 820,
EVREventType_VREvent_BackgroundSettingHasChanged = 850, EVREventType_VREvent_BackgroundSettingHasChanged = 850,
EVREventType_VREvent_CameraSettingsHaveChanged = 851, EVREventType_VREvent_CameraSettingsHaveChanged = 851,
@@ -895,6 +988,8 @@ typedef enum EVREventType
EVREventType_VREvent_GpuSpeedSectionSettingChanged = 869, EVREventType_VREvent_GpuSpeedSectionSettingChanged = 869,
EVREventType_VREvent_WindowsMRSectionSettingChanged = 870, EVREventType_VREvent_WindowsMRSectionSettingChanged = 870,
EVREventType_VREvent_OtherSectionSettingChanged = 871, EVREventType_VREvent_OtherSectionSettingChanged = 871,
EVREventType_VREvent_AnyDriverSettingsChanged = 872,
EVREventType_VREvent_Reserved_0873 = 873,
EVREventType_VREvent_StatusUpdate = 900, EVREventType_VREvent_StatusUpdate = 900,
EVREventType_VREvent_WebInterface_InstallDriverCompleted = 950, EVREventType_VREvent_WebInterface_InstallDriverCompleted = 950,
EVREventType_VREvent_MCImageUpdated = 1000, EVREventType_VREvent_MCImageUpdated = 1000,
@@ -903,6 +998,8 @@ typedef enum EVREventType
EVREventType_VREvent_KeyboardClosed = 1200, EVREventType_VREvent_KeyboardClosed = 1200,
EVREventType_VREvent_KeyboardCharInput = 1201, EVREventType_VREvent_KeyboardCharInput = 1201,
EVREventType_VREvent_KeyboardDone = 1202, EVREventType_VREvent_KeyboardDone = 1202,
EVREventType_VREvent_KeyboardOpened_Global = 1203,
EVREventType_VREvent_KeyboardClosed_Global = 1204,
EVREventType_VREvent_ApplicationListUpdated = 1303, EVREventType_VREvent_ApplicationListUpdated = 1303,
EVREventType_VREvent_ApplicationMimeTypeLoad = 1304, EVREventType_VREvent_ApplicationMimeTypeLoad = 1304,
EVREventType_VREvent_ProcessConnected = 1306, EVREventType_VREvent_ProcessConnected = 1306,
@@ -944,6 +1041,11 @@ typedef enum EVREventType
EVREventType_VREvent_SystemReport_Started = 1900, EVREventType_VREvent_SystemReport_Started = 1900,
EVREventType_VREvent_Monitor_ShowHeadsetView = 2000, EVREventType_VREvent_Monitor_ShowHeadsetView = 2000,
EVREventType_VREvent_Monitor_HideHeadsetView = 2001, 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_Start = 10000,
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999, EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
} EVREventType; } EVREventType;
@@ -1159,6 +1261,7 @@ typedef enum EVRNotificationError
EVRNotificationError_VRNotificationError_NotificationQueueFull = 101, EVRNotificationError_VRNotificationError_NotificationQueueFull = 101,
EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102, EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102,
EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103, EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103,
EVRNotificationError_VRNotificationError_ServiceUnavailable = 104,
} EVRNotificationError; } EVRNotificationError;
typedef enum EVRSkeletalMotionRange typedef enum EVRSkeletalMotionRange
@@ -1248,6 +1351,8 @@ typedef enum EVRInitError
EVRInitError_VRInitError_Init_VRDashboardTokenFailure = 165, EVRInitError_VRInitError_Init_VRDashboardTokenFailure = 165,
EVRInitError_VRInitError_Init_VRDashboardEnvironmentFailure = 166, EVRInitError_VRInitError_Init_VRDashboardEnvironmentFailure = 166,
EVRInitError_VRInitError_Init_VRDashboardPathFailure = 167, EVRInitError_VRInitError_Init_VRDashboardPathFailure = 167,
EVRInitError_VRInitError_Init_InstallationTooOld = 168,
EVRInitError_VRInitError_Init_ClientVersionAlreadyProvided = 169,
EVRInitError_VRInitError_Driver_Failed = 200, EVRInitError_VRInitError_Driver_Failed = 200,
EVRInitError_VRInitError_Driver_Unknown = 201, EVRInitError_VRInitError_Driver_Unknown = 201,
EVRInitError_VRInitError_Driver_HmdUnknown = 202, EVRInitError_VRInitError_Driver_HmdUnknown = 202,
@@ -1370,6 +1475,11 @@ typedef enum EVRInitError
EVRInitError_VRInitError_Compositor_SystemLayerCreateSession = 493, EVRInitError_VRInitError_Compositor_SystemLayerCreateSession = 493,
EVRInitError_VRInitError_Compositor_CreateInverseDistortUVs = 494, EVRInitError_VRInitError_Compositor_CreateInverseDistortUVs = 494,
EVRInitError_VRInitError_Compositor_CreateBackbufferDepth = 495, 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_UnableToConnectToOculusRuntime = 1000,
EVRInitError_VRInitError_VendorSpecific_WindowsNotInDevMode = 1001, EVRInitError_VRInitError_VendorSpecific_WindowsNotInDevMode = 1001,
EVRInitError_VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002, EVRInitError_VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002,
@@ -1388,6 +1498,10 @@ typedef enum EVRInitError
EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
EVRInitError_VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114, EVRInitError_VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114,
EVRInitError_VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, 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_Steam_SteamInstallationNotFound = 2000,
EVRInitError_VRInitError_LastError = 2001, EVRInitError_VRInitError_LastError = 2001,
} EVRInitError; } EVRInitError;
@@ -1476,6 +1590,17 @@ typedef enum Imu_OffScaleFlags
Imu_OffScaleFlags_OffScale_GyroZ = 32, Imu_OffScaleFlags_OffScale_GyroZ = 32,
} Imu_OffScaleFlags; } 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 typedef enum EVRApplicationError
{ {
EVRApplicationError_VRApplicationError_None = 0, EVRApplicationError_VRApplicationError_None = 0,
@@ -1495,6 +1620,7 @@ typedef enum EVRApplicationError
EVRApplicationError_VRApplicationError_TransitionAborted = 113, EVRApplicationError_VRApplicationError_TransitionAborted = 113,
EVRApplicationError_VRApplicationError_IsTemplate = 114, EVRApplicationError_VRApplicationError_IsTemplate = 114,
EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115, EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115,
EVRApplicationError_VRApplicationError_WaitingForChaperone = 116,
EVRApplicationError_VRApplicationError_BufferTooSmall = 200, EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
EVRApplicationError_VRApplicationError_PropertyNotSet = 201, EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
EVRApplicationError_VRApplicationError_UnknownProperty = 202, EVRApplicationError_VRApplicationError_UnknownProperty = 202,
@@ -1513,6 +1639,7 @@ typedef enum EVRApplicationProperty
EVRApplicationProperty_VRApplicationProperty_Description_String = 50, EVRApplicationProperty_VRApplicationProperty_Description_String = 50,
EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51, EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51,
EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52, EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52,
EVRApplicationProperty_VRApplicationProperty_ImagePathCapsule_String = 55,
EVRApplicationProperty_VRApplicationProperty_Source_String = 53, EVRApplicationProperty_VRApplicationProperty_Source_String = 53,
EVRApplicationProperty_VRApplicationProperty_ActionManifestURL_String = 54, EVRApplicationProperty_VRApplicationProperty_ActionManifestURL_String = 54,
EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60, EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60,
@@ -1575,6 +1702,13 @@ typedef enum EVRCompositorError
EVRCompositorError_VRCompositorError_AlreadySet = 110, EVRCompositorError_VRCompositorError_AlreadySet = 110,
} EVRCompositorError; } EVRCompositorError;
typedef enum EVRCompositorTextureUsage
{
EVRCompositorTextureUsage_VRCompositorTextureUsage_Left = 0,
EVRCompositorTextureUsage_VRCompositorTextureUsage_Right = 1,
EVRCompositorTextureUsage_VRCompositorTextureUsage_Both = 2,
} EVRCompositorTextureUsage;
typedef enum EVRCompositorTimingMode typedef enum EVRCompositorTimingMode
{ {
EVRCompositorTimingMode_VRCompositorTimingMode_Implicit = 0, EVRCompositorTimingMode_VRCompositorTimingMode_Implicit = 0,
@@ -1622,7 +1756,13 @@ typedef enum VROverlayFlags
VROverlayFlags_WantsModalBehavior = 1048576, VROverlayFlags_WantsModalBehavior = 1048576,
VROverlayFlags_IsPremultiplied = 2097152, VROverlayFlags_IsPremultiplied = 2097152,
VROverlayFlags_IgnoreTextureAlpha = 4194304, 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; } VROverlayFlags;
typedef enum VRMessageOverlayResponse typedef enum VRMessageOverlayResponse
@@ -1659,6 +1799,8 @@ typedef enum EKeyboardFlags
{ {
EKeyboardFlags_KeyboardFlag_Minimal = 1, EKeyboardFlags_KeyboardFlag_Minimal = 1,
EKeyboardFlags_KeyboardFlag_Modal = 2, EKeyboardFlags_KeyboardFlag_Modal = 2,
EKeyboardFlags_KeyboardFlag_ShowArrowKeys = 4,
EKeyboardFlags_KeyboardFlag_HideDoneKey = 8,
} EKeyboardFlags; } EKeyboardFlags;
typedef enum EDeviceType typedef enum EDeviceType
@@ -1726,6 +1868,7 @@ typedef enum EVRSettingsError
EVRSettingsError_VRSettingsError_ReadFailed = 3, EVRSettingsError_VRSettingsError_ReadFailed = 3,
EVRSettingsError_VRSettingsError_JsonParseFailed = 4, EVRSettingsError_VRSettingsError_JsonParseFailed = 4,
EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5, EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5,
EVRSettingsError_VRSettingsError_AccessDenied = 6,
} EVRSettingsError; } EVRSettingsError;
typedef enum EVRScreenshotError typedef enum EVRScreenshotError
@@ -1871,6 +2014,7 @@ typedef PropertyContainerHandle_t DriverHandle_t;
typedef uint64_t VRActionHandle_t; typedef uint64_t VRActionHandle_t;
typedef uint64_t VRActionSetHandle_t; typedef uint64_t VRActionSetHandle_t;
typedef uint64_t VRInputValueHandle_t; typedef uint64_t VRInputValueHandle_t;
typedef uint64_t VRInputComponentHandle_t;
typedef uint32_t VRComponentProperties; typedef uint32_t VRComponentProperties;
typedef uint64_t VROverlayHandle_t; typedef uint64_t VROverlayHandle_t;
typedef int32_t BoneIndex_t; typedef int32_t BoneIndex_t;
@@ -1975,6 +2119,15 @@ typedef struct VRBoneTransform_t
struct HmdQuaternionf_t orientation; struct HmdQuaternionf_t orientation;
} VRBoneTransform_t; } VRBoneTransform_t;
typedef struct VREyeTrackingData_t
{
bool bActive;
bool bValid;
bool bTracked;
HmdVector3_t vGazeOrigin;
HmdVector3_t vGazeTarget;
} VREyeTrackingData_t;
typedef struct DistortionCoordinates_t typedef struct DistortionCoordinates_t
{ {
float rfRed[2]; //float[2] float rfRed[2]; //float[2]
@@ -2029,6 +2182,39 @@ typedef struct VRTextureWithPoseAndDepth_t
struct VRTextureDepthInfo_t depth; struct VRTextureDepthInfo_t depth;
} VRTextureWithPoseAndDepth_t; } 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 typedef struct TrackedDevicePose_t
{ {
struct HmdMatrix34_t mDeviceToAbsoluteTracking; struct HmdMatrix34_t mDeviceToAbsoluteTracking;
@@ -2076,6 +2262,7 @@ typedef struct VREvent_Mouse_t
float x; float x;
float y; float y;
uint32_t button; uint32_t button;
uint32_t cursorIndex;
} VREvent_Mouse_t; } VREvent_Mouse_t;
typedef struct VREvent_Scroll_t typedef struct VREvent_Scroll_t
@@ -2084,6 +2271,7 @@ typedef struct VREvent_Scroll_t
float ydelta; float ydelta;
uint32_t unused; uint32_t unused;
float viewportscale; float viewportscale;
uint32_t cursorIndex;
} VREvent_Scroll_t; } VREvent_Scroll_t;
typedef struct VREvent_TouchPadMove_t typedef struct VREvent_TouchPadMove_t
@@ -2115,6 +2303,7 @@ typedef struct VREvent_Overlay_t
uint64_t overlayHandle; uint64_t overlayHandle;
uint64_t devicePath; uint64_t devicePath;
uint64_t memoryBlockId; uint64_t memoryBlockId;
uint32_t cursorIndex;
} VREvent_Overlay_t; } VREvent_Overlay_t;
typedef struct VREvent_Status_t typedef struct VREvent_Status_t
@@ -2126,6 +2315,7 @@ typedef struct VREvent_Keyboard_t
{ {
char cNewInput[8]; //char[8] char cNewInput[8]; //char[8]
uint64_t uUserValue; uint64_t uUserValue;
uint64_t overlayHandle;
} VREvent_Keyboard_t; } VREvent_Keyboard_t;
typedef struct VREvent_Ipd_t typedef struct VREvent_Ipd_t
@@ -2135,7 +2325,7 @@ typedef struct VREvent_Ipd_t
typedef struct VREvent_Chaperone_t typedef struct VREvent_Chaperone_t
{ {
uint64_t m_nPreviousUniverse; uint64_t m_nPreviousUniverse_deprecated;
uint64_t m_nCurrentUniverse; uint64_t m_nCurrentUniverse;
} VREvent_Chaperone_t; } VREvent_Chaperone_t;
@@ -2253,6 +2443,16 @@ typedef struct VREvent_HDCPError_t
enum EHDCPError eCode; enum EHDCPError eCode;
} VREvent_HDCPError_t; } 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 typedef struct RenderModel_ComponentState_t
{ {
struct HmdMatrix34_t mTrackingToComponentRenderModel; struct HmdMatrix34_t mTrackingToComponentRenderModel;
@@ -2319,6 +2519,7 @@ typedef struct Compositor_FrameTiming
TrackedDevicePose_t m_HmdPose; TrackedDevicePose_t m_HmdPose;
uint32_t m_nNumVSyncsReadyForUse; uint32_t m_nNumVSyncsReadyForUse;
uint32_t m_nNumVSyncsToFirstView; uint32_t m_nNumVSyncsToFirstView;
float m_flTransferLatencyMs;
} Compositor_FrameTiming; } Compositor_FrameTiming;
typedef struct Compositor_BenchmarkResults typedef struct Compositor_BenchmarkResults
@@ -2344,6 +2545,12 @@ typedef struct ImuSample_t
uint32_t unOffScaleFlags; uint32_t unOffScaleFlags;
} ImuSample_t; } ImuSample_t;
typedef struct DistortionCoordinate_t
{
float u;
float v;
} DistortionCoordinate_t;
typedef struct AppOverrideKeys_t typedef struct AppOverrideKeys_t
{ {
char * pchKey; // const char * char * pchKey; // const char *
@@ -2596,6 +2803,7 @@ typedef struct COpenVRContext
intptr_t m_pVRSpatialAnchors; // class vr::IVRSpatialAnchors * intptr_t m_pVRSpatialAnchors; // class vr::IVRSpatialAnchors *
intptr_t m_pVRDebug; // class vr::IVRDebug * intptr_t m_pVRDebug; // class vr::IVRDebug *
intptr_t m_pVRNotifications; // class vr::IVRNotifications * intptr_t m_pVRNotifications; // class vr::IVRNotifications *
intptr_t m_pVRIPCResourceManagerClient; // class vr::IVRIPCResourceManagerClient *
} COpenVRContext; } COpenVRContext;
typedef struct PropertyWrite_t typedef struct PropertyWrite_t
@@ -2624,6 +2832,11 @@ typedef struct CVRPropertyHelpers
intptr_t m_pProperties; // class vr::IVRProperties * intptr_t m_pProperties; // class vr::IVRProperties *
} CVRPropertyHelpers; } CVRPropertyHelpers;
typedef struct PathWriteOptions_t
{
bool bPostEvents;
} PathWriteOptions_t;
typedef struct PathWrite_t typedef struct PathWrite_t
{ {
PathHandle_t ulPath; PathHandle_t ulPath;
@@ -2634,6 +2847,8 @@ typedef struct PathWrite_t
PropertyTypeTag_t unTag; PropertyTypeTag_t unTag;
enum ETrackedPropertyError eError; enum ETrackedPropertyError eError;
char * pszPath; // const char * char * pszPath; // const char *
bool bPostEvents;
bool bValueChanged;
} PathWrite_t; } PathWrite_t;
typedef struct PathRead_t typedef struct PathRead_t
@@ -2675,6 +2890,12 @@ typedef union
VREvent_InputBindingLoad_t inputBinding; VREvent_InputBindingLoad_t inputBinding;
VREvent_InputActionManifestLoad_t actionManifest; VREvent_InputActionManifestLoad_t actionManifest;
VREvent_SpatialAnchor_t spatialAnchor; 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; } VREvent_Data_t;
#if defined(__linux__) || defined(__APPLE__) #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); 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); 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 *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); struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye);
bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter); bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)(); int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
@@ -2746,8 +2968,11 @@ struct VR_IVRSystem_FnTable
char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error); char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error);
bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent); 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 *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); char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType);
struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye, EHiddenAreaMeshType type); 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 *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); 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); 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)(); void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)();
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetAppContainerFilePaths)(char * pchBuffer, uint32_t unBufferSize); uint32_t (OPENVR_FNTABLE_CALLTYPE *GetAppContainerFilePaths)(char * pchBuffer, uint32_t unBufferSize);
char * (OPENVR_FNTABLE_CALLTYPE *GetRuntimeVersion)(); char * (OPENVR_FNTABLE_CALLTYPE *GetRuntimeVersion)();
EVRInitError (OPENVR_FNTABLE_CALLTYPE *SetSDKVersion)(uint32_t nVersionMajor, uint32_t nVersionMinor, uint32_t nVersionBuild);
}; };
struct VR_IVRExtendedDisplay_FnTable struct VR_IVRExtendedDisplay_FnTable
@@ -2819,6 +3045,7 @@ struct VR_IVRApplications_FnTable
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey); EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey);
char * (OPENVR_FNTABLE_CALLTYPE *GetSceneApplicationStateNameFromEnum)(EVRSceneApplicationState state); char * (OPENVR_FNTABLE_CALLTYPE *GetSceneApplicationStateNameFromEnum)(EVRSceneApplicationState state);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory); 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)(); 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 *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 *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 *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 *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 *ClearLastSubmittedFrame)();
void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)(); void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)();
bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo); 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 *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayName, 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); 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 *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); 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 *SetOverlayTransformCursor)(VROverlayHandle_t ulCursorOverlayHandle, struct HmdVector2_t * pvHotspot);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformCursor)(VROverlayHandle_t ulOverlayHandle, 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 *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 *ShowOverlay)(VROverlayHandle_t ulOverlayHandle);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle);
bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(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 *GetSkeletalActionData)(VRActionHandle_t action, struct InputSkeletalActionData_t * pActionData, uint32_t unActionDataSize);
EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetDominantHand)(ETrackedControllerRole * peDominantHand); EVRInputError (OPENVR_FNTABLE_CALLTYPE *GetDominantHand)(ETrackedControllerRole * peDominantHand);
EVRInputError (OPENVR_FNTABLE_CALLTYPE *SetDominantHand)(ETrackedControllerRole eDominantHand); 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 *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 *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); 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); 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 struct VR_IVRProperties_FnTable
{ {
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *ReadPropertyBatch)(PropertyContainerHandle_t ulContainerHandle, struct PropertyRead_t * pBatch, uint32_t unBatchEntryCount); ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *ReadPropertyBatch)(PropertyContainerHandle_t ulContainerHandle, struct PropertyRead_t * pBatch, uint32_t unBatchEntryCount);
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
{ "major": 5, "minor": 8, "patch": 11, "updateMessage": "", "optionalMessage": "" } { "major": 5, "minor": 8, "patch": 17, "updateMessage": "", "optionalMessage": "" }