From 63f4faee63d0adab4359cebb79c5c1afb6bd00b0 Mon Sep 17 00:00:00 2001 From: elvissteinjr Date: Sun, 21 Aug 2022 03:14:45 +0200 Subject: [PATCH] Update to OpenVR SDK 1.23.7 --- assets/openvr_api.dll | Bin 819664 -> 825672 bytes src/Shared/lib/x64/openvr_api.lib | Bin 6666 -> 5500 bytes src/Shared/lib/x86/openvr_api.lib | Bin 6772 -> 5578 bytes src/Shared/openvr.h | 619 +++++++++++++++++++----------- 4 files changed, 394 insertions(+), 225 deletions(-) diff --git a/assets/openvr_api.dll b/assets/openvr_api.dll index 6b0c8fe01699d3e5bfd36fa49d2b4107777cf83e..2df5818bb5eb7a2806330133063488e8a1897fc8 100644 GIT binary patch delta 213015 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

t7>*BJer{x^iO-tU0H6v;RX9HqkeiL5-^4#Tgq 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

VNEZDuax44^ei~o`6Dxy zNHRQt*e!!ge$m1T;SY#(S1G(~bn90Ss~wU@-u5sHkzK0@{)&kGF<9l8>Rp6J7qhah5K07w79`c8T(T!Bb>E^Kj<8NZqZ z2M#M^*m50K3M@FyWG7v?^bF%ag~;+VtYT-G@#w;v|6;O8W@w$$lLg^1q;DoIgB{Ct zm=fTI^GrZ)%@x2}7d1T;9=W9HN8xk-az2R9=`h^li!RtlSbXB;K@U%BF11U9)A-&` z)B=p)IxkNvDWZVhxvX_(hMdSe35VWlwh9;H}LLP>rE;I zPdPlT_@&G<*qCpGq`Mqe6Zi<<1?lTt&Qtm*FY`T&%(vJ*;HUhUGJgffczA|SZ6u(d zh0SYF>$f?{gpct9@~n9*$?!EkC04eG2?e+Eme#D-*j?e@d>*RseI_!znNKX`&Z0-* zKwf5-zl7rgbiTm{9E#px0fAre@rGlom_+bmgr}AB4hI`}3m;wROAp1sAq}u0eH1*2 z$g)}nlOt&vV=w#?k%_z$-quj{IGAB{;ZD_^wi4AyjfB&UE<9rNqp)*hwdn#E8GSMI zY@+GjFwyA3`9>GM(o`!N-OSTk-NMsKSj=RHZEkUTS~0IP>29HwF|?S;6$2aJ>dBo> z#tA0Jdh!tfS_T*2#t<+Mgn4n;zl0;W?RMr3y72kdq{}>j_wnJTV(fdss_~vyXbuM? zxCcpKe(ZCiyxE4XV}i_ukG5rOm>~UOyLQx?v2PFSwx?k92zU`GX6!G)gB_S$=!f7t zcTzADGaC--=xJp$F_U4_1RD7s^9KHg9A$o-fEzn8{uV7OM0ve4lZXj28$Ny)EvB#} z*rJQ4)s;yX4IOvWO6EZzJdPZt#V6pM4>R)@I;;dZD~VRViXT{Y40{R_GYGyk85`1P z!n)5=Ip$f!v;59)Sq8OZLM?|$FR~ZlNEq@eJ@E=>GVoLu>DZLP-S07B>BeHXYAw6j z92OjS$2y${d9Z1|nNKiaJ-au1Ss*;MfxPTxWiWgbJ-3AQKLVvrA+2OD2!*|nn3e3) zFbm11^}xoJ7ZABo@cf*8`I$F3v@gBS=jy(Eqj*<2-E-Zv`W#1^Z#WY zWK(Hac$vKD!o3#1l4r>F!Gj*EAA*-Wd4UhZDs0HBsPnOJ0`K$T?U)uDdhj98b5(es zAG5a{CiwHU;+L6FaEgOh$)O9g1NhbBOlCOT7RW2a(1rV}YGEbthia;qLMw>Z+)*K6 z(_r35h{@Vr6gJF>0yyth zK08bLd{~CaN+)a==VfJL(;mLqn%815Z!+N_L~MkA-@zvY@LvvVw&4}=P8@}x#3C~G z)8Xj0w4OuiOt=z}^jz4#9UpCB?1ih4Dd@Sde|s-$CVC2d9})ZI@Y@dbXeLKX*z`_K zkAevaRDua8bS8GD7A!u(lrFTM$tX;}ht{(Y37g+b%d+S?c);i-aP58c3JXgQ@IJIUykA$0%a=LdL3>-*0Lm+$~NkPwn^OEQxmfQL8-a*V8 z&M~{fcLwvjdGcmEQJN27rm`PL!M6}OZJG~%N@fTOI2(pThv5i41-|x#m;ES47TlVG z{t=ace-Fn7y&T>=l5t+kvJD50Vp#K8RpA?>>H1Gtp5YgKW5Ag}qzL8WlN7dry#U@a z*2~JGuo(CbB9+UARmSN|_Jh5QE?i^uJZSN?AersLgf#Y$HFP`l;JZ87RL&cIh6LqN z?gaM#mnPEf)O02s$p<^jhD zVV7C7k^+RyXR|la`Y4!;#H{D22;0o}vI>Jm@w-7m1cg{yCL*xJ>oVitv&cdi|X3>CuA=XB^9p3+$rYFMNKBv;8$HC5D z&{Fg+Fb(O7E_@G>#w><)ir5QC4~1DpjK4%stXH zh}1L_9z^VQ8=gd@yUL*F0oA=>1S0mrIHL=Dm#}RU=LGN@BnG_OzqOpGU-LHmr7tZX`n_{1r(=KL*EsPxo<*NP|ldsay^$FuHJ;(Tic3(S`Es zez6xi14`MKaT*ApK~mAD!;cWDLI_3edJNopmU%$>Ht72|UrR#wgZGu|GT+~cvIvoa7sG=_KLpoY z(8BWIc|>e3!Oj;|?*eBSeJ1=KkrtQ2PM5S7yTI{CIR&S|HIiP)oP%c(rymjPANFA+ z2t5)uL_*MG;H^j~dIl^+BGH9)FS9(BI13wF-nQNZjznbmM!{GQ zZ>uYL+k1FBtxt(atqWlzPj4$toWix<-c}KMKKup|rzOzIH%sP{o&irFrRc&hebvuS z_$J>ikwbYltm;Q$n>l>L`}{S%2b|;Zwqp3$q%{{MIMCbj!zdSeRpSFB=-zNNB9%*p zWymPfg?0GGf>bCJei(#K`f`|9gO78d3y+DQ3mb-L!A;;Rhzw;yEh^;XODD52>IGj% zinlP);6UE`W1%O(o5NL)hIS;0F*34L1K)SH+ZN@3A zd%L%NWQ%}*BXW{b4qtDr6`Bnr@6f`8o#MSY0(XfxvQ{f*- z6!um(Z)-3gvx#vMNk*BD#Gwm|5SbuC-}}9-UZnfMSVVd&4nF*Vw|$*KJ$_mlcOJtp?>J!CF==nD+RiwqN$6Hd#dVd%*(@rjBV+L%DN z#^`zQqgjllDvkYF=z52iq0faK z7O0*8e}7kp=>+_GAq~T3AAEd~`cHDAL@(CaTLeFSUpExO!%K85OW^|_sGbOYbC|F= z@`JA-GTvG6!4HiM{1%ZtV(~JDa=Ffr^c76#m6|ThTE+Nh;Ybv}T+J+uSDUAP;u zKI4D^XMfBJH<^41sXV@5~9( zw?Us1Gz{Gj9z;se55aSY^iVmh;rv4*A@D(?C&EmlXTdL#h|gKWVU?4Np*V$Kp3=(g zgth);2str{f`gGVY!<^4$T4*5w71n5k%F7RIHNm7c^;9LWx-;j3vWK784_SGqYIOb zE_}=A^Wk!%3xm$;5D4!_q=ypWazyqf;l;CN{l7$H|6kr#0|8R?csQ%XTfEN zw4ea~ZuApy%-=dOQ{lUa*kr@qMlXh*<(lpdZ!>yaxzpRK_b;uZ;7Ir;B9GfFhrc27 zNk0MeJbbL_=t9fW$C@Jca3UgwWx#K}eC$i~qcG7&^}cW-BC|amHmu@f6_Pgtj`PEp zlYKM|r8@6+>-q&N7aSVqW5uASKxcg)t1o&6jEwZL%B5gf*idz0?G`>(2sWXxH6n$@ z!;+hQtV7rfJ4E}~L)?Qege^m4xJ#h34xjLvEtz3.%69KM6(lb#JPBZttfTYapr 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 delta 207889 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

{-ub&ff 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 diff --git a/src/Shared/lib/x64/openvr_api.lib b/src/Shared/lib/x64/openvr_api.lib index 3b95d6b7db1fb57886fafcc9c6e71803bf02b121..e4cc9b92c2b89cdd791aff31bc5c701b869dcf6d 100644 GIT binary patch delta 638 zcmZ{gF=!KE6vzMH-I=@GU2=E1yEd0(P$?9oL&Xf*O)a9}&~^xt2Aj|ZjI?*DO(;%r z&Lq68LP123ZZ?~s;Na4^6ve?9ht3WzQqXsIA})UL``-6G{_p?2_YJFOm!4i5%wMUV zPgYY0Fbin=fPM^^c_6=-k~;wsLXJ%SFvThXG44W&Hv`1j-4tgGB-A-F)-c6AU_E1F zF5ZB`QHrktF$EUKczY@Kgmn|Tu3e=wvqDXAi=IfO(HrSh8q8P!PT;fEK9?Ws+@A?7 z@(d?AAY=~tT(W=#7nt#YF26f=fI2he`~m0VUXBX<2W(X5xW~E)=lENY!8s^Up&`#Q z13q#v;bPrE78Z1PC_q5^ukc@;jJuuferKb$g4)W>DC|9oHkVpqdy}uX+pUeAcCXfH z@A7S_)qAir3e?Afo(Y5AX&QagF4C!F(HBV@Ju za*(a=WT~+8v138vLf7uZ1c@u%8}v*k6bQvQ$v1cI`Olei=Kk~h^y9v#{k7ineJASI ztpI=?Ag~DpV?ZbasBO|>E2E9L=qbQKm0aXiz(HGgQMWkG=qoPK4ZtDBIS$6o zm~#UnWtZ?a;9&3o4zaY0vA}yKI_?r*1{@-s>k#jD30JtjLJtFDlopq2+01}ds#r6H zs%4MP&s5FQm2%az%ef*ZCkv&@Y9q#%$S{;<}CIrl>z>)$am=O&~>43zsRT)_4{T4s3aBL&WF}7mI0Ll?yJIwFk=QPI_ zcpYbbInHs`x_Paz&c6`?@T2BK8@%X13)<0&AasPGAOQ_3Vu&CF12W=>LO`mQ{C|Z9 zLxt(tLOz?pQ8sq5(T-NG+E(#eu53EnX2*Hem*_vj(Y+((+NS=k<$UuZ()>T8PyXY2 zvyR{VXD&AFxa<19zPq8O-RZrEtsQUK_R|+V84-NkhfjmvXt715hdvseLZVZl>-1Jm zs-Al8zTxP#7GG3SR1GDCm!5@6!bg8XL-bDW)cp12{S&({O-X%edKruuN%p*@p0qbP z{gf||uAU4Yn4Aku(MGpr%M*Z?zDhCrB~OTU8dfaPK_8T95u|hKeNTwhCsG%ER&NTK x&T8{Qp;wwEREp}B(CCqFd3A0{$<|H^8xz8yX=7G|>AO+#M7a2cCrrh#@)tlNQ2hV^ diff --git a/src/Shared/lib/x86/openvr_api.lib b/src/Shared/lib/x86/openvr_api.lib index b61a5a0b3b9069ddf727b11432a4e5cc6559ad43..3a9a3c3a44593626360437051e5beee5e3f838ea 100644 GIT binary patch delta 568 zcmZ|LO-mbL5C`!8?2~LZFZ;fmY-&JrQq)5VLhGeoh2|iV=F(y#c!&p0f{Ka<5fr=> zTjmRtd;nXTi^rbZi~Rt-^pJ}v2q92Pp|jmmdg;P%hiB%`KEsX{KFz&eJgz;eP5pja zIRMjuF$D4zpwI-Y^FJb~!n{maV>t_ZE#aR6v7no9u7H>~lW_Y$%)U{0!>5rtpEIm(ZQ$Ey}*-&z`GM8Th9ciSHfdLB+@(5v~03S;( zvapdu01pK1zrlZV3NP!My}iwi<|=>D1OBN;gGT0z_=gej0h!z-BfYY|+uq@O?ZMzf z_D<)Iryo0qHc^~ z*EmZJiE)RK4J#82dpAZ>{|h1saplUny+BJS#wNd<-Z}G~Gc(`$cH{R*?QV7W&dvVD z?@1ScTY!HI2vmUJHlWlUkiRP7BKpeLu41QVSR%L=i0=$2pfY7HtMwJ9ewNXp;7U$no3R< z^QGcyu2QsSU#wQl{7j)@T7}FC(&=2jlurLEBb7{=g{)~kDrU`<)$_{syQ$=ym05af zW+yZE@}`wJuRGm8yPZl-S-EGXHI=i>CAuPMTFZCk_!xR6`Yz8dnFVv&%9NIyZ8T#$ z?}X&44v(H%YtL)U4^#rcb`Yp5z<~^um@O5kX}|)A+Bw=NtnT4PZYE zB$#!MZ*u&I*WHL?M1t2E=hZon-w?XsMb(2&xX}$C{E!fU1_LtNrb0m!VFaNggcu?a z=x9j(U*SSJkt?s|vZ*94aL{d=Oc{^fc8DcU@BNG1YYx&ryRBC{8=egjZvU{z>+AQo z7-t(v*L;K1?e9Bzg{`-q#M7`<$}&&h0dV(-&qhandle is a contains VRVulkanTextureArrayData_t Submit_VulkanTextureWithArrayData = 0x40, + + // If the texture pointer passed in is an OpenGL Array texture, set this flag + Submit_GlArrayTexture = 0x80, + + // Do not use + Submit_Reserved2 = 0x08000, + Submit_Reserved3 = 0x10000, + }; /** Data required for passing Vulkan textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. +* Be sure to call OpenVR_Shutdown before destroying these resources. * Please see https://github.com/ValveSoftware/openvr/wiki/Vulkan for Vulkan-specific documentation */ struct VRVulkanTextureData_t { @@ -654,7 +700,7 @@ struct VRVulkanTextureData_t }; /** Data required for passing Vulkan texture arrays to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. +* Be sure to call OpenVR_Shutdown before destroying these resources. * Please see https://github.com/ValveSoftware/openvr/wiki/Vulkan for Vulkan-specific documentation */ struct VRVulkanTextureArrayData_t : public VRVulkanTextureData_t { @@ -717,7 +763,7 @@ enum EVREventType // VREvent_DualAnalog_Move = 254, // No longer sent // VREvent_DualAnalog_ModeSwitch1 = 255, // No longer sent // VREvent_DualAnalog_ModeSwitch2 = 256, // No longer sent - VREvent_Modal_Cancel = 257, // Sent to overlays with the + VREvent_Modal_Cancel = 257, // Sent to overlays with the VREvent_MouseMove = 300, // data is mouse VREvent_MouseButtonDown = 301, // data is mouse @@ -727,7 +773,7 @@ enum EVREventType VREvent_ScrollDiscrete = 305, // data is scroll VREvent_TouchPadMove = 306, // data is mouse VREvent_OverlayFocusChanged = 307, // data is overlay, global event - VREvent_ReloadOverlays = 308, + VREvent_ReloadOverlays = 308, VREvent_ScrollSmooth = 309, // data is scroll VREvent_LockMousePosition = 310, VREvent_UnlockMousePosition = 311, @@ -784,6 +830,13 @@ enum EVREventType VREvent_RoomViewHidden = 527, // Sent by compositor whenever room-view is disabled VREvent_ShowUI = 528, // data is showUi VREvent_ShowDevTools = 529, // data is showDevTools + VREvent_DesktopViewUpdating = 530, + VREvent_DesktopViewReady = 531, + + VREvent_StartDashboard = 532, + VREvent_ElevatePrism = 533, + + VREvent_OverlayClosed = 534, VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, @@ -796,6 +849,7 @@ enum EVREventType VREvent_QuitAcknowledged = 703, // data is process VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down VREvent_RestartRequested = 705, // A driver or other component wants the user to restart SteamVR + VREvent_InvalidateSwapTextureSets = 706, VREvent_ChaperoneDataHasChanged = 800, // this will never happen with the new chaperone system VREvent_ChaperoneUniverseHasChanged = 801, @@ -805,6 +859,7 @@ enum EVREventType VREvent_ChaperoneFlushCache = 805, // Sent when the process needs to reload any cached data it retrieved from VRChaperone() VREvent_ChaperoneRoomSetupStarting = 806, // Triggered by CVRChaperoneClient::RoomSetupStarting VREvent_ChaperoneRoomSetupFinished = 807, // Triggered by CVRChaperoneClient::CommitWorkingCopy + VREvent_StandingZeroPoseReset = 808, VREvent_AudioSettingsHaveChanged = 820, @@ -865,6 +920,7 @@ enum EVREventType VREvent_Compositor_OutOfVideoMemory = 1417, VREvent_Compositor_DisplayModeNotSupported = 1418, // k_pch_SteamVR_PreferredRefreshRate VREvent_Compositor_StageOverrideReady = 1419, + VREvent_Compositor_RequestDisconnectReconnect = 1420, VREvent_TrackedCamera_StartVideoStream = 1500, VREvent_TrackedCamera_StopVideoStream = 1501, @@ -878,7 +934,7 @@ enum EVREventType VREvent_MessageOverlay_Closed = 1650, VREvent_MessageOverlayCloseRequested = 1651, - + VREvent_Input_HapticVibration = 1700, // data is hapticVibration VREvent_Input_BindingLoadFailed = 1701, // data is inputBinding VREvent_Input_BindingLoadSuccessful = 1702, // data is inputBinding @@ -911,10 +967,10 @@ enum EVREventType // VREvent_TrackedDeviceUserInteractionStarted fires when the devices transitions from Standby -> UserInteraction or Idle -> UserInteraction. // VREvent_TrackedDeviceUserInteractionEnded fires when the devices transitions from UserInteraction_Timeout -> Idle enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, +{ + k_EDeviceActivityLevel_Unknown = -1, k_EDeviceActivityLevel_Idle = 0, // No activity for the last 10 seconds - k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now + k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now k_EDeviceActivityLevel_UserInteraction_Timeout = 2, // No activity for the last 0.5 seconds k_EDeviceActivityLevel_Standby = 3, // Idle for at least 5 seconds (configurable in Settings -> Power Management) k_EDeviceActivityLevel_Idle_Timeout = 4, @@ -932,7 +988,7 @@ enum EVRButtonId k_EButton_DPad_Right = 5, k_EButton_DPad_Down = 6, k_EButton_A = 7, - + k_EButton_ProximitySensor = 31, k_EButton_Axis0 = 32, @@ -1031,6 +1087,7 @@ struct VREvent_Overlay_t { uint64_t overlayHandle; uint64_t devicePath; + uint64_t memoryBlockId; }; @@ -1229,9 +1286,9 @@ typedef union } VREvent_Data_t; -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. #pragma pack( push, 4 ) #endif @@ -1245,7 +1302,7 @@ struct VREvent_t VREvent_Data_t data; }; -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) #pragma pack( pop ) #endif @@ -1314,9 +1371,9 @@ enum EVRSpatialAnchorError VRSpatialAnchorError_UnknownDriver = 13, }; -/** The mesh to draw into the stencil (or depth) buffer to perform +/** The mesh to draw into the stencil (or depth) buffer to perform * early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. +* This mesh draws on all the pixels that will be hidden after distortion. * * If the HMD does not provide a visible area mesh pVertexData will be * NULL and unTriangleCount will be 0. */ @@ -1337,7 +1394,7 @@ enum EHiddenAreaMeshType }; -/** Identifies what kind of axis is on the controller at index n. Read this type +/** Identifies what kind of axis is on the controller at index n. Read this type * with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); */ enum EVRControllerAxisType @@ -1361,16 +1418,16 @@ struct VRControllerAxis_t static const uint32_t k_unControllerStateAxisCount = 5; -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. #pragma pack( push, 4 ) #endif /** Holds all the state of a controller at one moment in time. */ struct VRControllerState001_t { - // If packet num matches that on your prior call, then the controller state hasn't been changed since + // If packet num matches that on your prior call, then the controller state hasn't been changed since // your last call and there is no need to process it uint32_t unPacketNum; @@ -1381,7 +1438,7 @@ struct VRControllerState001_t // Axis data for the controller's analog inputs VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; }; -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) #pragma pack( pop ) #endif @@ -1443,14 +1500,15 @@ enum EVROverlayError VROverlayError_TextureAlreadyLocked = 31, VROverlayError_TextureLockCapacityReached = 32, VROverlayError_TextureNotLocked = 33, + VROverlayError_TimedOut = 34, }; -/** enum values to pass in to VR_Init to identify whether the application will +/** enum values to pass in to VR_Init to identify whether the application will * draw a 3D scene. */ enum EVRApplicationType { - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames + VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries + VRApplication_Scene = 1, // Application will submit 3D frames VRApplication_Overlay = 2, // Application only interacts with overlays VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not // keep it running if everything else quits. @@ -1460,11 +1518,35 @@ enum EVRApplicationType VRApplication_SteamWatchdog = 6,// Reserved for Steam VRApplication_Bootstrapper = 7, // reserved for vrstartup VRApplication_WebHelper = 8, // reserved for vrwebhelper + VRApplication_OpenXRInstance = 9, // reserved for openxr (created instance, but not session yet) + VRApplication_OpenXRScene = 10, // reserved for openxr (started session) + VRApplication_OpenXROverlay = 11, // reserved for openxr (started overlay session) + VRApplication_Prism = 12, // reserved for the vrprismhost process + VRApplication_RoomView = 13, // reserved for the RoomView process VRApplication_Max }; +/** returns true if the specified application type is one of the +* OpenXR types */ +inline bool IsOpenXRAppType( EVRApplicationType eType ) +{ + return eType == VRApplication_OpenXRInstance + || eType == VRApplication_OpenXRScene + || eType == VRApplication_OpenXROverlay; +} + + +/** returns true if the specified application type submits eye buffers */ +inline bool BAppTypeSubmitsEyeBuffers( EVRApplicationType eType ) +{ + return eType == VRApplication_Scene + || eType == VRApplication_OpenXRScene + || eType == VRApplication_RoomView; +} + + /** error codes for firmware */ enum EVRFirmwareError { @@ -1500,17 +1582,17 @@ enum EVRSkeletalMotionRange enum EVRSkeletalTrackingLevel { // body part location can't be directly determined by the device. Any skeletal pose provided by - // the device is estimated by assuming the position required to active buttons, triggers, joysticks, - // or other input sensors. + // the device is estimated by assuming the position required to active buttons, triggers, joysticks, + // or other input sensors. // E.g. Vive Controller, Gamepad VRSkeletalTracking_Estimated = 0, - // body part location can be measured directly but with fewer degrees of freedom than the actual body - // part. Certain body part positions may be unmeasured by the device and estimated from other input data. + // body part location can be measured directly but with fewer degrees of freedom than the actual body + // part. Certain body part positions may be unmeasured by the device and estimated from other input data. // E.g. Index Controllers, gloves that only measure finger curl VRSkeletalTracking_Partial = 1, - // Body part location can be measured directly throughout the entire range of motion of the body part. + // Body part location can be measured directly throughout the entire range of motion of the body part. // E.g. Mocap suit for the full body, gloves that measure rotation of each finger segment VRSkeletalTracking_Full = 2, @@ -1519,14 +1601,6 @@ enum EVRSkeletalTrackingLevel }; - -/** Holds the transform for a single bone */ -struct VRBoneTransform_t -{ - HmdVector4_t position; - HmdQuaternionf_t orientation; -}; - /** Type used for referring to bones by their index */ typedef int32_t BoneIndex_t; const BoneIndex_t k_unInvalidBoneIndex = -1; @@ -1557,8 +1631,8 @@ enum EVRInitError VRInitError_Init_AppInfoInitFailed = 114, VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, + VRInitError_Init_AnotherAppLaunching = 117, + VRInitError_Init_SettingsInitFailed = 118, VRInitError_Init_ShuttingDown = 119, VRInitError_Init_TooManyObjects = 120, VRInitError_Init_NoServerForBackgroundApp = 121, @@ -1569,7 +1643,7 @@ enum EVRInitError VRInitError_Init_HmdNotFoundPresenceFailed = 126, VRInitError_Init_VRMonitorNotFound = 127, VRInitError_Init_VRMonitorStartupFailed = 128, - VRInitError_Init_LowPowerWatchdogNotSupported = 129, + VRInitError_Init_LowPowerWatchdogNotSupported = 129, VRInitError_Init_InvalidApplicationType = 130, VRInitError_Init_NotAvailableToWatchdogApps = 131, VRInitError_Init_WatchdogDisabledInSettings = 132, @@ -1587,6 +1661,27 @@ enum EVRInitError VRInitError_Init_FailedForVrMonitor = 144, VRInitError_Init_PropertyManagerInitFailed = 145, VRInitError_Init_WebServerFailed = 146, + VRInitError_Init_IllegalTypeTransition = 147, + VRInitError_Init_MismatchedRuntimes = 148, + VRInitError_Init_InvalidProcessId = 149, + VRInitError_Init_VRServiceStartupFailed = 150, + VRInitError_Init_PrismNeedsNewDrivers = 151, + VRInitError_Init_PrismStartupTimedOut = 152, + VRInitError_Init_CouldNotStartPrism = 153, + VRInitError_Init_PrismClientInitFailed = 154, + VRInitError_Init_PrismClientStartFailed = 155, + VRInitError_Init_PrismExitedUnexpectedly = 156, + VRInitError_Init_BadLuid = 157, + VRInitError_Init_NoServerForAppContainer = 158, + VRInitError_Init_DuplicateBootstrapper = 159, + VRInitError_Init_VRDashboardServicePending = 160, + VRInitError_Init_VRDashboardServiceTimeout = 161, + VRInitError_Init_VRDashboardServiceStopped = 162, + VRInitError_Init_VRDashboardAlreadyStarted = 163, + VRInitError_Init_VRDashboardCopyFailed = 164, + VRInitError_Init_VRDashboardTokenFailure = 165, + VRInitError_Init_VRDashboardEnvironmentFailure = 166, + VRInitError_Init_VRDashboardPathFailure = 167, VRInitError_Driver_Failed = 200, VRInitError_Driver_Unknown = 201, @@ -1602,6 +1697,9 @@ enum EVRInitError VRInitError_Driver_HmdDriverIdOutOfBounds = 211, VRInitError_Driver_HmdDisplayMirrored = 212, VRInitError_Driver_HmdDisplayNotFoundLaptop = 213, + VRInitError_Driver_PeerDriverNotInstalled = 214, + VRInitError_Driver_WirelessHmdNotConnected = 215, + // Never make error 259 because we return it from main and it would conflict with STILL_ACTIVE VRInitError_IPC_ServerInitFailed = 300, @@ -1707,9 +1805,15 @@ enum EVRInitError VRInitError_Compositor_CreateOverlayInvalidCall = 488, VRInitError_Compositor_CreateOverlayAlreadyInitialized = 489, VRInitError_Compositor_FailedToCreateMailbox = 490, - + VRInitError_Compositor_WindowInterfaceIsNull = 491, + VRInitError_Compositor_SystemLayerCreateInstance = 492, + VRInitError_Compositor_SystemLayerCreateSession = 493, + VRInitError_Compositor_CreateInverseDistortUVs = 494, + VRInitError_Compositor_CreateBackbufferDepth = 495, + VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, VRInitError_VendorSpecific_WindowsNotInDevMode = 1001, + VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002, VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, @@ -1725,6 +1829,7 @@ enum EVRInitError VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114, + VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, VRInitError_Steam_SteamInstallationNotFound = 2000, @@ -1752,7 +1857,7 @@ enum EVRTrackedCameraError { VRTrackedCameraError_None = 0, VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, + VRTrackedCameraError_InvalidHandle = 101, VRTrackedCameraError_InvalidFrameHeaderVersion = 102, VRTrackedCameraError_OutOfHandles = 103, VRTrackedCameraError_IPCFailure = 104, @@ -1776,7 +1881,7 @@ enum EVRTrackedCameraFrameLayout EVRTrackedCameraFrameLayout_VerticalLayout = 0x0010, // Stereo frames are Top/Bottom (left/right) EVRTrackedCameraFrameLayout_HorizontalLayout = 0x0020, // Stereo frames are Left/Right }; - + enum EVRTrackedCameraFrameType { VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. @@ -1809,7 +1914,7 @@ struct CameraVideoStreamFrameHeader_t uint32_t nFrameSequence; TrackedDevicePose_t trackedDevicePose; - + uint64_t ulFrameExposureTime; // mid-point of the exposure of the image in host system ticks }; @@ -1830,18 +1935,18 @@ const uint32_t VRCompositor_ReprojectionAsync = 0x04; // This flag indicates the const uint32_t VRCompositor_ReprojectionMotion = 0x08; // This flag indicates whether or not motion smoothing was triggered for this frame -const uint32_t VRCompositor_PredictionMask = 0x30; // The runtime may predict more than one frame (up to four) ahead if +const uint32_t VRCompositor_PredictionMask = 0xF0; // The runtime may predict more than one frame (up to four) ahead if // it detects the application is taking too long to render. These two // bits will contain the count of additional frames (normally zero). // Use the VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES macro to read from // the latest frame timing entry. -const uint32_t VRCompositor_ThrottleMask = 0xC0; // Number of frames the compositor is throttling the application. +const uint32_t VRCompositor_ThrottleMask = 0xF00; // Number of frames the compositor is throttling the application. // Use the VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES macro to read from // the latest frame timing entry. #define VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_PredictionMask ) >> 4 ) -#define VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_ThrottleMask ) >> 6 ) +#define VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_ThrottleMask ) >> 8 ) /** Provides a single frame's timing information to the app */ struct Compositor_FrameTiming @@ -1933,7 +2038,7 @@ enum Imu_OffScaleFlags OffScale_GyroY = 0x10, OffScale_GyroZ = 0x20, }; - + struct ImuSample_t { double fSampleTime; @@ -1962,7 +2067,7 @@ struct ImuSample_t #ifdef VR_API_EXPORT #define VR_INTERFACE extern "C" __attribute__((visibility("default"))) #else - #define VR_INTERFACE extern "C" + #define VR_INTERFACE extern "C" #endif #else @@ -1973,15 +2078,14 @@ struct ImuSample_t #if defined( _WIN32 ) #define VR_CALLTYPE __cdecl #else - #define VR_CALLTYPE + #define VR_CALLTYPE #endif } // namespace vr - #endif // _INCLUDE_VRTYPES_H - // vrannotation.h + #ifdef API_GEN # define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) #else @@ -2001,6 +2105,7 @@ struct ImuSample_t #define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) // ivrsystem.h + namespace vr { @@ -2023,20 +2128,20 @@ class IVRSystem * application is doing something fancy like infinite Z */ virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - /** Gets the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in + /** Gets the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. * Returns true for success. Otherwise, returns false, and distortion coordinates are not suitable. */ virtual bool ComputeDistortion( EVREye eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates ) = 0; /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head - * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. - * Normally View and Eye^-1 will be multiplied together and treated as View in your application. + * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. + * Normally View and Eye^-1 will be multiplied together and treated as View in your application. */ virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; - /** Returns the number of elapsed seconds since the last recorded vsync event. This + /** Returns the number of elapsed seconds since the last recorded vsync event. This * will come from a vsync timer event in the timer if possible or from the application-reported - * time if that is not available. If no vsync times are available the function will + * time if that is not available. If no vsync times are available the function will * return zero for vsync time and frame counter and return false from the method. */ virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; @@ -2047,11 +2152,11 @@ class IVRSystem virtual int32_t GetD3D9AdapterIndex() = 0; /** [D3D10/11 Only] - * Returns the adapter index that the user should pass into EnumAdapters to create the device + * Returns the adapter index that the user should pass into EnumAdapters to create the device * and swap chain in DX10 and DX11. If an error occurs the index will be set to -1. */ virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; - + /** * Returns platform- and texture-type specific adapter identification so that applications and the * compositor are creating textures and swap chains on the same GPU. If an error occurs the device @@ -2090,41 +2195,30 @@ class IVRSystem // Tracking Methods // ------------------------------------ - /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the + /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should * calculate the time until the photons will be emitted from the display and pass that time into the method. * - * This is roughly analogous to the inverse of the view matrix in most applications, though + * This is roughly analogous to the inverse of the view matrix in most applications, though * many games will need to do some additional rotation or translation on top of the rotation * and translation provided by the head pose. * * For devices where bPoseIsValid is true the application can use the pose to position the device - * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. + * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. * * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative - * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding - * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should + * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding + * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should * probably not be used unless the application is the Chaperone calibration tool itself, but will provide * poses relative to the hardware-specific coordinate system in the driver. */ virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; - /** Sets the zero pose for the seated tracker coordinate system to the current position and yaw of the HMD. After - * ResetSeatedZeroPose all GetDeviceToAbsoluteTrackingPose calls that pass TrackingUniverseSeated as the origin - * will be relative to this new zero pose. The new zero coordinate system will not change the fact that the Y axis - * is up in the real world, so the next pose returned from GetDeviceToAbsoluteTrackingPose after a call to - * ResetSeatedZeroPose may not be exactly an identity matrix. - * - * NOTE: This function overrides the user's previously saved seated zero pose and should only be called as the result of a user action. - * Users are also able to set their seated zero pose via the OpenVR Dashboard. - **/ - virtual void ResetSeatedZeroPose() = 0; - - /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows + /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows * applications to represent the seated origin to used or transform object positions from one coordinate - * system to the other. + * system to the other. * - * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position + * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; @@ -2157,10 +2251,10 @@ class IVRSystem /** Returns the device class of a tracked device. If there has not been a device connected in this slot * since the application started this function will return TrackedDevice_Invalid. For previous detected - * devices the function will return the previously observed device class. + * devices the function will return the previously observed device class. * * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check - * the device class. Every device with something other than TrackedDevice_Invalid is associated with an + * the device class. Every device with something other than TrackedDevice_Invalid is associated with an * actual tracked device. */ virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; @@ -2181,18 +2275,18 @@ class IVRSystem /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - + /** Returns an array of one type of property. If the device index is not valid or the property is not a single value or an array of the specified type, * this function will return 0. Otherwise it returns the number of bytes necessary to hold the array of properties. If unBufferSize is * greater than the returned size and pBuffer is non-NULL, pBuffer is filled with the contents of array of properties. */ virtual uint32_t GetArrayTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, PropertyTypeTag_t propType, void *pBuffer, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; - /** Returns a string property. If the device index is not valid or the property is not a string type this function will + /** Returns a string property. If the device index is not valid or the property is not a string type this function will * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; - /** returns a string that corresponds with the specified property error. The string will be the name + /** returns a string that corresponds with the specified property error. The string will be the name * of the error enum value for all valid error codes */ virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; @@ -2205,8 +2299,8 @@ class IVRSystem virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. - * This pose will always be older than the call to this function and should not be used to render the device. + * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. + * This pose will always be older than the call to this function and should not be used to render the device. uncbVREvent should be the size in bytes of the VREvent_t struct */ virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; @@ -2219,7 +2313,7 @@ class IVRSystem /** Returns the hidden area mesh for the current HMD. The pixels covered by this mesh will never be seen by the user after the lens distortion is * applied based on visibility to the panels. If this HMD does not have a hidden area mesh, the vertex data and count will be NULL and 0 respectively. - * This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering each eye's view. + * This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering each eye's view. * This will improve performance by letting the GPU early-reject pixels the user will never see before running the pixel shader. * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. * Setting the bInverse argument to true will produce the visible area mesh that is commonly used in place of full-screen quads. The visible area mesh covers all of the pixels the hidden area mesh does not cover. @@ -2235,7 +2329,7 @@ class IVRSystem * is invalid. This function is deprecated in favor of the new IVRInput system. */ virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize ) = 0; - /** fills the supplied struct with the current state of the controller and the provided pose with the pose of + /** fills the supplied struct with the current state of the controller and the provided pose with the pose of * the controller when the controller state was updated most recently. Use this form if you need a precise controller * pose as input to your application when the user presses or releases a button. This function is deprecated in favor of the new IVRInput system. */ virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose ) = 0; @@ -2250,7 +2344,7 @@ class IVRSystem /** returns the name of an EVRControllerAxisType enum value. This function is deprecated in favor of the new IVRInput system. */ virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; - /** Returns true if this application is receiving input from the system. This would return false if + /** Returns true if this application is receiving input from the system. This would return false if * system-related functionality is consuming the input stream. */ virtual bool IsInputAvailable() = 0; @@ -2269,11 +2363,11 @@ class IVRSystem // ------------------------------------ // Firmware methods // ------------------------------------ - - /** Performs the actual firmware update if applicable. - * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished + + /** Performs the actual firmware update if applicable. + * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String - * to figure our whether a firmware update is available, and to figure out whether its a manual update + * to figure our whether a firmware update is available, and to figure out whether its a manual update * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; @@ -2289,7 +2383,7 @@ class IVRSystem // App container sandbox methods // ------------------------------------- - /** Retrieves a null-terminated, semicolon-delimited list of UTF8 file paths that an application + /** Retrieves a null-terminated, semicolon-delimited list of UTF8 file paths that an application * must have read access to when running inside of an app container. Returns the number of bytes * needed to hold the list. */ virtual uint32_t GetAppContainerFilePaths( VR_OUT_STRING() char *pchBuffer, uint32_t unBufferSize ) = 0; @@ -2307,12 +2401,13 @@ class IVRSystem }; -static const char * const IVRSystem_Version = "IVRSystem_021"; +static const char * const IVRSystem_Version = "IVRSystem_022"; } // ivrapplications.h + namespace vr { @@ -2327,13 +2422,13 @@ namespace vr VRApplicationError_InvalidIndex = 103, VRApplicationError_UnknownApplication = 104, // the application could not be found VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail - VRApplicationError_ApplicationAlreadyRunning = 106, + VRApplicationError_ApplicationAlreadyRunning = 106, VRApplicationError_InvalidManifest = 107, VRApplicationError_InvalidApplication = 108, VRApplicationError_LaunchFailed = 109, // the process didn't start VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application - VRApplicationError_OldApplicationQuitting = 112, + VRApplicationError_OldApplicationQuitting = 112, VRApplicationError_TransitionAborted = 113, VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) VRApplicationError_SteamVRIsExiting = 115, @@ -2342,6 +2437,8 @@ namespace vr VRApplicationError_PropertyNotSet = 201, // The requested property was not set VRApplicationError_UnknownProperty = 202, VRApplicationError_InvalidParameter = 203, + + VRApplicationError_NotImplemented = 300, // Fcn is not implemented in current interface }; /** The maximum length of an application key */ @@ -2399,7 +2496,7 @@ namespace vr // --------------- Application management --------------- // - /** Adds an application manifest to the list to load when building the list of installed applications. + /** Adds an application manifest to the list to load when building the list of installed applications. * Temporary manifests are not automatically loaded */ virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; @@ -2412,12 +2509,12 @@ namespace vr /** Returns the number of applications available in the list */ virtual uint32_t GetApplicationCount() = 0; - /** Returns the key of the specified application. The index is at least 0 and is less than the return - * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to + /** Returns the key of the specified application. The index is at least 0 and is less than the return + * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to * fit the key. */ virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - /** Returns the key of the application for the specified Process Id. The buffer should be at least + /** Returns the key of the application for the specified Process Id. The buffer should be at least * k_unMaxApplicationKeyLength in order to fit the key. */ virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; @@ -2433,7 +2530,7 @@ namespace vr /** launches the application currently associated with this mime type and passes it the option args, typically the filename or object name of the item being launched */ virtual vr::EVRApplicationError LaunchApplicationFromMimeType( const char *pchMimeType, const char *pchArgs ) = 0; - /** Launches the dashboard overlay application if it is not already running. This call is only valid for + /** Launches the dashboard overlay application if it is not already running. This call is only valid for * dashboard overlay applications. */ virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; @@ -2441,8 +2538,8 @@ namespace vr virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; /** Identifies a running application. OpenVR can't always tell which process started in response - * to a URL. This function allows a URL handler (or the process itself) to identify the app key - * for the now running application. Passing a process ID of 0 identifies the calling process. + * to a URL. This function allows a URL handler (or the process itself) to identify the app key + * for the now running application. Passing a process ID of 0 identifies the calling process. * The application must be one that's known to the system via a call to AddApplicationManifest. */ virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; @@ -2507,9 +2604,9 @@ namespace vr virtual const char *GetSceneApplicationStateNameFromEnum( EVRSceneApplicationState state ) = 0; /** Starts a subprocess within the calling application. This - * suppresses all application transition UI and automatically identifies the new executable - * as part of the same application. On success the calling process should exit immediately. - * If working directory is NULL or "" the directory portion of the binary path will be + * suppresses all application transition UI and automatically identifies the new executable + * as part of the same application. On success the calling process should exit immediately. + * If working directory is NULL or "" the directory portion of the binary path will be * the working directory. */ virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; @@ -2524,6 +2621,7 @@ namespace vr } // namespace vr // ivrsettings.h + #include namespace vr @@ -2569,14 +2667,14 @@ namespace vr { IVRSettings *m_pSettings; public: - CVRSettingHelper( IVRSettings *pSettings ) - { - m_pSettings = pSettings; + CVRSettingHelper( IVRSettings *pSettings ) + { + m_pSettings = pSettings; } - const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) - { - return m_pSettings->GetSettingsErrorNameFromEnum( eError ); + const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) + { + return m_pSettings->GetSettingsErrorNameFromEnum( eError ); } void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) @@ -2662,6 +2760,7 @@ namespace vr static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; static const char * const k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor"; static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; + static const char * const k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences"; static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; @@ -2672,6 +2771,10 @@ namespace vr static const char * const k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution"; static const char * const k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; static const char * const k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; + static const char * const k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; + static const char * const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; + static const char * const k_pch_SteamVR_WorldScale_Float = "worldScale"; + static const char * const k_pch_SteamVR_FovScale_Int32 = "fovScale"; static const char * const k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; @@ -2714,6 +2817,9 @@ namespace vr static const char * const k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2"; static const char * const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; static const char * const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; + static const char * const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + static const char * const k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; + static const char * const k_pch_SteamVR_UsePrism_Bool = "usePrism"; //----------------------------------------------------------------------------- // direct mode keys @@ -2809,15 +2915,15 @@ namespace vr // camera keys static const char * const k_pch_Camera_Section = "camera"; static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; + static const char * const k_pch_Camera_ShowOnController_Bool = "showOnController"; static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; + static const char * const k_pch_Camera_RoomView_Int32 = "roomView"; static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; - static const char * const k_pch_Camera_RoomViewMode_Int32 = "cameraRoomViewMode"; + static const char * const k_pch_Camera_RoomViewStyle_Int32 = "roomViewStyle"; //----------------------------------------------------------------------------- // audio keys @@ -2838,6 +2944,8 @@ namespace vr static const char * const k_pch_audio_EnablePlaybackMirrorIndependentVolume_Bool = "enablePlaybackMirrorIndependentVolume"; static const char * const k_pch_audio_LastHmdPlaybackDeviceId_String = "lastHmdPlaybackDeviceId"; static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; + static const char * const k_pch_audio_DualSpeakerAndJackOutput_Bool = "dualSpeakerAndJackOutput"; + static const char * const k_pch_audio_MuteMicMonitor_Bool = "muteMicMonitor"; //----------------------------------------------------------------------------- // power management keys @@ -2857,6 +2965,8 @@ namespace vr static const char * const k_pch_Dashboard_Position = "position"; static const char * const k_pch_Dashboard_DesktopScale = "desktopScale"; static const char * const k_pch_Dashboard_DashboardScale = "dashboardScale"; + static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; + static const char * const k_pch_Dashboard_StickyDashboard = "stickyDashboard"; //----------------------------------------------------------------------------- // model skin keys @@ -2926,6 +3036,7 @@ namespace vr } // namespace vr // ivrchaperone.h + namespace vr { @@ -2962,7 +3073,7 @@ class IVRChaperone /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ virtual ChaperoneCalibrationState GetCalibrationState() = 0; - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. + /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. * Tracking space center (0,0,0) is the center of the Play Area. **/ virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; @@ -2988,15 +3099,27 @@ class IVRChaperone /** Force the bounds to show, mostly for utilities **/ virtual void ForceBoundsVisible( bool bForce ) = 0; + + /** Sets the zero pose for the given tracker coordinate system to the current position and yaw of the HMD. After + * ResetZeroPose all GetDeviceToAbsoluteTrackingPose calls as the origin will be relative to this new zero pose. + * The new zero coordinate system will not change the fact that the Y axis is up in the real world, so the next + * pose returned from GetDeviceToAbsoluteTrackingPose after a call to ResetZeroPose may not be exactly an + * identity matrix. + * + * NOTE: This function overrides the user's previously saved zero pose and should only be called as the result of a user action. + * Users are also able to set their zero pose via the OpenVR Dashboard. + **/ + virtual void ResetZeroPose( ETrackingUniverseOrigin eTrackingUniverseOrigin ) = 0; }; -static const char * const IVRChaperone_Version = "IVRChaperone_003"; +static const char * const IVRChaperone_Version = "IVRChaperone_004"; #pragma pack( pop ) } // ivrchaperonesetup.h + namespace vr { @@ -3011,9 +3134,9 @@ enum EChaperoneImportFlags EChaperoneImport_BoundsOnly = 0x0001, }; -/** Manages the working copy of the chaperone info. By default this will be the same as the -* live copy. Any changes made with this interface will stay in the working copy until -* CommitWorkingCopy() is called, at which point the working copy and the live copy will be +/** Manages the working copy of the chaperone info. By default this will be the same as the +* live copy. Any changes made with this interface will stay in the working copy until +* CommitWorkingCopy() is called, at which point the working copy and the live copy will be * the same again. */ class IVRChaperoneSetup { @@ -3039,11 +3162,11 @@ class IVRChaperoneSetup * Height of every corner is 0Y (on the floor). **/ virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads * into the buffer up to the max specified from the working copy. */ virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads * into the buffer up to the max specified. */ virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; @@ -3095,6 +3218,7 @@ static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_006"; } // ivrcompositor.h + namespace vr { @@ -3251,7 +3375,7 @@ class IVRCompositor */ virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; - /** Clears the frame that was sent with the last call to Submit. This will cause the + /** Clears the frame that was sent with the last call to Submit. This will cause the * compositor to show the grid until Submit is called again. */ virtual void ClearLastSubmittedFrame() = 0; @@ -3278,7 +3402,7 @@ class IVRCompositor virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between - * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly + * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; @@ -3286,7 +3410,7 @@ class IVRCompositor virtual HmdColor_t GetCurrentFadeColor( bool bBackground = false ) = 0; /** Fading the Grid in or out in fSeconds */ - virtual void FadeGrid( float fSeconds, bool bFadeIn ) = 0; + virtual void FadeGrid( float fSeconds, bool bFadeGridIn ) = 0; /** Get current alpha value of grid. */ virtual float GetCurrentGridAlpha() = 0; @@ -3306,10 +3430,10 @@ class IVRCompositor /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ virtual void CompositorGoToBack() = 0; - /** Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. Under normal - * circumstances the compositor will manage its own life cycle based on what applications are running. */ + /** DEPRECATED: Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. + * Under normal circumstances the compositor will manage its own life cycle based on what applications are running. */ virtual void CompositorQuit() = 0; - + /** Return whether the compositor is fullscreen */ virtual bool IsFullscreen() = 0; @@ -3377,9 +3501,9 @@ class IVRCompositor * * More accurate GPU timestamp for the start of the frame is achieved by the application calling * SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue. - * This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11, - * WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the - * application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for + * This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11, + * WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the + * application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for * Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame. * * Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired, @@ -3429,13 +3553,14 @@ class IVRCompositor virtual EVRCompositorError GetPosesForFrame( uint32_t unPosePredictionID, VR_ARRAY_COUNT( unPoseArrayCount ) TrackedDevicePose_t* pPoseArray, uint32_t unPoseArrayCount ) = 0; }; -static const char * const IVRCompositor_Version = "IVRCompositor_026"; +static const char * const IVRCompositor_Version = "IVRCompositor_027"; } // namespace vr // ivrheadsetview.h + namespace vr { enum HeadsetViewMode_t @@ -3493,6 +3618,7 @@ namespace vr // ivrnotifications.h + namespace vr { @@ -3519,7 +3645,7 @@ struct NotificationBitmap_t /** Be aware that the notification type is used as 'priority' to pick the next notification */ enum EVRNotificationType { - /** Transient notifications are automatically hidden after a period of time set by the user. + /** Transient notifications are automatically hidden after a period of time set by the user. * They are used for things like information and chat messages that do not require user interaction. */ EVRNotificationType_Transient = 0, @@ -3559,8 +3685,7 @@ typedef uint32_t VRNotificationId; #pragma pack( pop ) -/** Allows notification sources to interact with the VR system - This current interface is not yet implemented. Do not use yet. */ +/** Allows notification sources to interact with the VR system. */ class IVRNotifications { public: @@ -3582,6 +3707,7 @@ static const char * const IVRNotifications_Version = "IVRNotifications_002"; // ivroverlay.h + namespace vr { @@ -3617,6 +3743,7 @@ namespace vr VROverlayTransform_DashboardTab = 5, VROverlayTransform_DashboardThumb = 6, VROverlayTransform_Mountable = 7, + VROverlayTransform_Projection = 8, }; /** Overlay control settings */ @@ -3625,18 +3752,18 @@ namespace vr // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay VROverlayFlags_NoDashboardTab = 1 << 3, - // When this is set the overlay will receive VREvent_ScrollDiscrete events like a mouse wheel. + // When this is set the overlay will receive VREvent_ScrollDiscrete events like a mouse wheel. // Requires mouse input mode. VROverlayFlags_SendVRDiscreteScrollEvents = 1 << 6, // Indicates that the overlay would like to receive VROverlayFlags_SendVRTouchpadEvents = 1 << 7, - // If set this will render a vertical scroll wheel on the primary controller, + // If set this will render a vertical scroll wheel on the primary controller, // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel VROverlayFlags_ShowTouchPadScrollWheel = 1 << 8, - // If this is set ownership and render access to the overlay are transferred + // If this is set ownership and render access to the overlay are transferred // to the new scene process on a call to IVRApplications::LaunchInternalProcess VROverlayFlags_TransferOwnershipToInternalProcess = 1 << 9, @@ -3675,6 +3802,9 @@ namespace vr // If this is set, alpha composition assumes the texture is pre-multiplied VROverlayFlags_IsPremultiplied = 1 << 21, + + // If this is set, the alpha values of the overlay texture will be ignored + VROverlayFlags_IgnoreTextureAlpha = 1 << 22, }; enum VRMessageOverlayResponse @@ -3758,6 +3888,15 @@ namespace vr KeyboardFlag_Modal = 2 << 0, // makes the keyboard take all focus and dismiss when clicking off the panel }; + /** Defines the project used in an overlay that is using SetOverlayTransformProjection */ + struct VROverlayProjection_t + { + /** Tangent of the sides of the frustum */ + float fLeft; + float fRight; + float fTop; + float fBottom; + }; class IVROverlay { @@ -3788,11 +3927,11 @@ namespace vr /** set the name to use for this overlay */ virtual EVROverlayError SetOverlayName( VROverlayHandle_t ulOverlayHandle, const char *pchName ) = 0; - /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height + /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height * will be set and VROverlayError_ArrayTooSmall is returned. */ virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; - /** returns a string that corresponds with the specified overlay error. The string will be the name + /** returns a string that corresponds with the specified overlay error. The string will be the name * of the error enum value for all valid error codes */ virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; @@ -3839,7 +3978,7 @@ namespace vr * Overlays owned by the scene application * Overlays owned by some other application * - * Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same + * Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same * sort order are rendered back to front base on distance from the HMD. * * Sort order defaults to 0. */ @@ -3861,6 +4000,12 @@ namespace vr /** Returns the curvature of the overlay as a percentage from (0..1] where 1 is a fully closed cylinder. */ virtual EVROverlayError GetOverlayCurvature( VROverlayHandle_t ulOverlayHandle, float *pfCurvature ) = 0; + /** Sets the pitch angle (in radians) of the overlay before curvature is applied -- to form a fan or disk. */ + virtual EVROverlayError SetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float fRadians ) = 0; + + /** Returns the overlay's set pre-curve pitch angle (in radians). */ + virtual EVROverlayError GetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float *pfRadians ) = 0; + /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; @@ -3898,7 +4043,7 @@ namespace vr /** Gets the transform if it is relative to another overlay. Returns an error if the transform is some other type. */ virtual vr::EVROverlayError GetOverlayTransformOverlayRelative( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0; - + /** Sets the transform to relative to the transform of the specified overlay. This overlays visibility will also track the parents visibility */ virtual vr::EVROverlayError SetOverlayTransformOverlayRelative( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0; @@ -3909,6 +4054,11 @@ namespace vr /** Gets cursor hotspot/transform for the specified overlay */ virtual vr::EVROverlayError GetOverlayTransformCursor( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvHotspot ) = 0; + /** Sets the overlay as a projection overlay */ + virtual vr::EVROverlayError SetOverlayTransformProjection( VROverlayHandle_t ulOverlayHandle, + ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t* pmatTrackingOriginToOverlayTransform, + const VROverlayProjection_t *pProjection, vr::EVREye eEye ) = 0; + /** Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; @@ -3921,11 +4071,16 @@ namespace vr /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; + /** This function will block until the top of each frame, and can therefore be used to synchronize with the runtime's update rate. + * Note: In non-async mode, some signals may be dropped due to scene app performance, so passing a timeout of 1000/refresh rate + * may be useful depending on the overlay app's desired behavior. */ + virtual EVROverlayError WaitFrameSync( uint32_t nTimeoutMs ) = 0; + // --------------------------------------------- // Overlay input methods // --------------------------------------------- - /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. + /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; @@ -3947,7 +4102,7 @@ namespace vr * specified settings. Returns false if there is no intersection. */ virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; - /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" + /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" * by the virtual mouse pointer */ virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; @@ -3982,7 +4137,7 @@ namespace vr /** Use this to tell the overlay system to release the texture set for this overlay. */ virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; - /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data + /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data * that can be sent. This function can only be called by the overlay's renderer process. */ virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel ) = 0; @@ -4038,16 +4193,16 @@ namespace vr // --------------------------------------------- // Keyboard methods // --------------------------------------------- - - /** Show the virtual keyboard to accept input. In most cases, you should pass KeyboardFlag_Modal to enable modal overlay + + /** Show the virtual keyboard to accept input. In most cases, you should pass KeyboardFlag_Modal to enable modal overlay * behavior on the keyboard itself. See EKeyboardFlags for more. */ - virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, + virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue ) = 0; - /** Show the virtual keyboard to accept input for an overlay. In most cases, you should pass KeyboardFlag_Modal to enable modal + /** Show the virtual keyboard to accept input for an overlay. In most cases, you should pass KeyboardFlag_Modal to enable modal * overlay behavior on the keyboard itself. See EKeyboardFlags for more. */ virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, - EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, + EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue ) = 0; /** Get the text that was entered into the text input **/ @@ -4073,11 +4228,12 @@ namespace vr virtual void CloseMessageOverlay() = 0; }; - static const char * const IVROverlay_Version = "IVROverlay_024"; + static const char * const IVROverlay_Version = "IVROverlay_026"; } // namespace vr // ivroverlayview.h + namespace vr { struct VROverlayView_t @@ -4155,6 +4311,7 @@ namespace vr } // ivrrendermodels.h + namespace vr { @@ -4191,7 +4348,8 @@ enum EVRRenderModelTextureFormat VRRenderModelTextureFormat_BC2, VRRenderModelTextureFormat_BC4, VRRenderModelTextureFormat_BC7, - VRRenderModelTextureFormat_BC7_SRGB + VRRenderModelTextureFormat_BC7_SRGB, + VRRenderModelTextureFormat_RGBA16_FLOAT, }; /** A single vertex in a render model */ @@ -4203,9 +4361,9 @@ struct RenderModel_Vertex_t }; /** A texture map for use on a render model */ -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. #pragma pack( push, 4 ) #endif @@ -4214,8 +4372,9 @@ struct RenderModel_TextureMap_t uint16_t unWidth, unHeight; // width and height of the texture map in pixels const uint8_t *rubTextureMapData; // Map texture data. EVRRenderModelTextureFormat format; // Refer to EVRRenderModelTextureFormat + uint16_t unMipLevels; }; -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) #pragma pack( pop ) #endif @@ -4226,9 +4385,9 @@ typedef int32_t TextureID_t; const TextureID_t INVALID_TEXTURE_ID = -1; -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. #pragma pack( push, 4 ) #endif @@ -4240,7 +4399,7 @@ struct RenderModel_t uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present }; -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) #pragma pack( pop ) #endif @@ -4257,9 +4416,9 @@ class IVRRenderModels public: /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name - * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. + * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. * - * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the + * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the * application is finished with the render model it should call FreeRenderModel() to free the memory associated * with the model. * @@ -4355,6 +4514,7 @@ static const char * const IVRRenderModels_Version = "IVRRenderModels_006"; // ivrextendeddisplay.h + namespace vr { @@ -4384,6 +4544,7 @@ namespace vr // ivrtrackedcamera.h + namespace vr { @@ -4412,19 +4573,19 @@ class IVRTrackedCamera /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows - * the caller to determine if the frame as advanced per the frame header sequence. + * the caller to determine if the frame as advanced per the frame header sequence. * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. * Ideally a caller should be polling at ~16ms intervals */ virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; /** Access a shared D3D11 texture for the specified tracked camera stream. * The camera frame type VRTrackedCameraFrameType_Undistorted is not supported directly as a shared texture. It is an interior subregion of the shared texture VRTrackedCameraFrameType_MaximumUndistorted. * Instead, use GetVideoStreamTextureSize() with VRTrackedCameraFrameType_Undistorted to determine the proper interior subregion bounds along with GetVideoStreamTextureD3D11() with * VRTrackedCameraFrameType_MaximumUndistorted to provide the texture. The VRTrackedCameraFrameType_MaximumUndistorted will yield an image where the invalid regions are decoded - * by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described by VRTrackedCameraFrameType_Undistorted + * by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described by VRTrackedCameraFrameType_Undistorted * guarantees a rectangle where all pixels are valid. */ virtual vr::EVRTrackedCameraError GetVideoStreamTextureD3D11( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; @@ -4441,6 +4602,7 @@ static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_006"; // ivrscreenshots.h + namespace vr { @@ -4476,7 +4638,7 @@ class IVRScreenshots * VRScreenshotType_StereoPanorama: above/below with left eye * panorama being the above image. Image is typically square * with the panorama being 2x horizontal. - * + * * Note that the VR dashboard will call this function when * the user presses the screenshot binding (currently System * Button + Trigger). If Steam is running, the destination @@ -4548,6 +4710,7 @@ static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; // ivrresources.h + namespace vr { @@ -4564,7 +4727,7 @@ class IVRResources virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; /** Provides the full path to the specified resource. Resource names can include named directories for - * drivers and other things, and this resolves all of those and returns the actual physical path. + * drivers and other things, and this resolves all of those and returns the actual physical path. * pchResourceTypeDirectory is the subdirectory of resources to look in. */ virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, VR_OUT_STRING() char *pchPathBuffer, uint32_t unBufferLen ) = 0; }; @@ -4573,7 +4736,9 @@ static const char * const IVRResources_Version = "IVRResources_001"; } + // ivrdrivermanager.h + namespace vr { @@ -4597,23 +4762,24 @@ static const char * const IVRDriverManager_Version = "IVRDriverManager_001"; // ivrinput.h + namespace vr { // Maximum number of characters in an action name, including the trailing null - static const uint32_t k_unMaxActionNameLength = 64; + static const uint32_t k_unMaxActionNameLength = 64; // Maximum number of characters in an action set name, including the trailing null static const uint32_t k_unMaxActionSetNameLength = 64; // Maximum number of origins for an action - static const uint32_t k_unMaxActionOriginCount = 16; + static const uint32_t k_unMaxActionOriginCount = 16; // Maximum number of characters in a bone name, including the trailing null - static const uint32_t k_unMaxBoneNameLength = 32; + static const uint32_t k_unMaxBoneNameLength = 32; enum EVRSkeletalTransformSpace { - VRSkeletalTransformSpace_Model = 0, + VRSkeletalTransformSpace_Model = 0, VRSkeletalTransformSpace_Parent = 1 }; @@ -4647,11 +4813,11 @@ namespace vr enum EVRSummaryType { // The skeletal summary data will match the animated bone transforms for the action. - VRSummaryType_FromAnimation = 0, - - // The skeletal summary data will include unprocessed data directly from the device when available. + VRSummaryType_FromAnimation = 0, + + // The skeletal summary data will include unprocessed data directly from the device when available. // This data is generally less latent than the data that is computed from the animations. - VRSummaryType_FromDevice = 1, + VRSummaryType_FromDevice = 1, }; enum EVRInputFilterCancelType @@ -4682,7 +4848,7 @@ namespace vr /** Deltas since the previous call to UpdateActionState() */ float deltaX, deltaY, deltaZ; - + /** Time relative to now when this event happened. Will be negative to indicate a past time. */ float fUpdateTime; }; @@ -4746,12 +4912,12 @@ namespace vr // These constants are part of the experimental support in SteamVR for overlay // apps selectively overriding input in the base scene application. This may be // useful for overlay applications that need to use part or all of a controller - // without taking away all input to the game. This system must be enabled by the - // "Experimental overlay input overrides" setting in the developer section of + // without taking away all input to the game. This system must be enabled by the + // "Experimental overlay input overrides" setting in the developer section of // SteamVR settings. // // To use this system, set the nPriority field of an action set to any number in - // this range. + // this range. static const int32_t k_nActionSetOverlayGlobalPriorityMin = 0x01000000; static const int32_t k_nActionSetOverlayGlobalPriorityMax = 0x01FFFFFF; @@ -4766,8 +4932,8 @@ namespace vr * activate for all devices, set this to k_ulInvalidInputValueHandle. */ VRInputValueHandle_t ulRestrictedToDevice; - /** The action set to activate for all devices other than ulRestrictedDevice. If - * ulRestrictedToDevice is set to k_ulInvalidInputValueHandle, this parameter is + /** The action set to activate for all devices other than ulRestrictedDevice. If + * ulRestrictedToDevice is set to k_ulInvalidInputValueHandle, this parameter is * ignored. */ VRActionSetHandle_t ulSecondaryActionSet; @@ -4776,9 +4942,9 @@ namespace vr /** The priority of this action set relative to other action sets. Any inputs * bound to a source (e.g. trackpad, joystick, trigger) will disable bindings in - * other active action sets with a smaller priority. + * other active action sets with a smaller priority. * - * Overlay applications (i.e. ApplicationType_Overlay) may set their action set priority + * Overlay applications (i.e. ApplicationType_Overlay) may set their action set priority * to a value between k_nActionSetOverlayGlobalPriorityMin and k_nActionSetOverlayGlobalPriorityMax * to cause any inputs bound to a source used by that action set to be disabled in scene applications. * @@ -4791,11 +4957,11 @@ namespace vr struct VRSkeletalSummaryData_t { /** The amount that each finger is 'curled' inwards towards the palm. In the case of the thumb, - * this represents how much the thumb is wrapped around the fist. + * this represents how much the thumb is wrapped around the fist. * 0 means straight, 1 means fully curled */ float flFingerCurl[ VRFinger_Count ]; - /** The amount that each pair of adjacent fingers are separated. + /** The amount that each pair of adjacent fingers are separated. * 0 means the digits are touching, 1 means they are fully separated. */ float flFingerSplay[ VRFingerSplay_Count ]; @@ -4810,7 +4976,7 @@ namespace vr /** Sets the path to the action manifest JSON file that is used by this application. If this information * was set on the Steam partner site, calls to this function are ignored. If the Steam partner site - * setting and the path provided by this call are different, VRInputError_MismatchedActionManifest is returned. + * setting and the path provided by this call are different, VRInputError_MismatchedActionManifest is returned. * This call must be made before the first call to UpdateActionState or IVRSystem::PollNextEvent. */ virtual EVRInputError SetActionManifestPath( const char *pchActionManifestPath ) = 0; @@ -4827,7 +4993,7 @@ namespace vr // --------------- Reading action state ------------------- // - /** Reads the current state into all actions. After this call, the results of Get*Action calls + /** Reads the current state into all actions. After this call, the results of Get*Action calls * will be the same until the next call to UpdateActionState. */ virtual EVRInputError UpdateActionState( VR_ARRAY_COUNT( unSetCount ) VRActiveActionSet_t *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount ) = 0; @@ -4901,7 +5067,7 @@ namespace vr /** Retrieve origin handles for an action */ virtual EVRInputError GetActionOrigins( VRActionSetHandle_t actionSetHandle, VRActionHandle_t digitalActionHandle, VR_ARRAY_COUNT( originOutCount ) VRInputValueHandle_t *originsOut, uint32_t originOutCount ) = 0; - /** Retrieves the name of the origin in the current language. unStringSectionsToInclude is a bitfield of values in EVRInputStringBits that allows the + /** Retrieves the name of the origin in the current language. unStringSectionsToInclude is a bitfield of values in EVRInputStringBits that allows the application to specify which parts of the origin's information it wants a string for. */ virtual EVRInputError GetOriginLocalizedName( VRInputValueHandle_t origin, VR_OUT_STRING() char *pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude ) = 0; @@ -4933,7 +5099,7 @@ namespace vr * If no set is provided it will open to the root of the app binding page. */ virtual EVRInputError OpenBindingUI( const char* pchAppKey, VRActionSetHandle_t ulActionSetHandle, VRInputValueHandle_t ulDeviceHandle, bool bShowOnDesktop ) = 0; - /** Returns the variant set in the current bindings. If the binding doesn't include a variant setting, this function + /** Returns the variant set in the current bindings. If the binding doesn't include a variant setting, this function * will return an empty string */ virtual EVRInputError GetBindingVariant( vr::VRInputValueHandle_t ulDevicePath, VR_OUT_STRING() char *pchVariantArray, uint32_t unVariantArraySize ) = 0; @@ -4945,12 +5111,13 @@ namespace vr } // namespace vr // ivriobuffer.h + namespace vr { typedef uint64_t IOBufferHandle_t; static const uint64_t k_ulInvalidIOBufferHandle = 0; - + enum EIOBufferError { IOBuffer_Success = 0, @@ -4977,16 +5144,16 @@ static const uint64_t k_ulInvalidIOBufferHandle = 0; public: /** opens an existing or creates a new IOBuffer of unSize bytes */ virtual vr::EIOBufferError Open( const char *pchPath, vr::EIOBufferMode mode, uint32_t unElementSize, uint32_t unElements, vr::IOBufferHandle_t *pulBuffer ) = 0; - + /** closes a previously opened or created buffer */ virtual vr::EIOBufferError Close( vr::IOBufferHandle_t ulBuffer ) = 0; - + /** reads up to unBytes from buffer into *pDst, returning number of bytes read in *punRead */ virtual vr::EIOBufferError Read( vr::IOBufferHandle_t ulBuffer, void *pDst, uint32_t unBytes, uint32_t *punRead ) = 0; - + /** writes unBytes of data from *pSrc into a buffer. */ virtual vr::EIOBufferError Write( vr::IOBufferHandle_t ulBuffer, void *pSrc, uint32_t unBytes ) = 0; - + /** retrieves the property container of an buffer. */ virtual vr::PropertyContainerHandle_t PropertyContainer( vr::IOBufferHandle_t ulBuffer ) = 0; @@ -4998,6 +5165,7 @@ static const uint64_t k_ulInvalidIOBufferHandle = 0; } // ivrspatialanchors.h + namespace vr { static const SpatialAnchorHandle_t k_ulInvalidSpatialAnchorHandle = 0; @@ -5027,7 +5195,7 @@ namespace vr * This should be called when the user is close to (and ideally looking at/interacting with) the target physical * location. At that moment, the driver will have the most information about how to recover that physical point * in the future, and the quality of the anchor (when the descriptor is re-used) will be highest. - * The caller may decide to apply offsets from this initial pose, but is advised to stay relatively close to the + * The caller may decide to apply offsets from this initial pose, but is advised to stay relatively close to the * original pose location for highest fidelity. */ virtual EVRSpatialAnchorError CreateSpatialAnchorFromPose( TrackedDeviceIndex_t unDeviceIndex, ETrackingUniverseOrigin eOrigin, SpatialAnchorPose_t *pPose, SpatialAnchorHandle_t *pHandleOut ) = 0; @@ -5050,6 +5218,7 @@ namespace vr } // namespace vr // ivrdebug.h + namespace vr { enum EVRDebugError