Commit Graph

56 Commits

Author SHA1 Message Date
Daosheng Mu
6d9ae7858e Bug 1355648 - Part 1: Check VR controllers if losing tracking; r=kip
MozReview-Commit-ID: B8DaBmz1mJo
2017-04-21 18:14:42 +08:00
Phil Ringnalda
6a31d00193 Backed out 2 changesets (bug 1355648) for failures in test_gamepad_extensions.html
CLOSED TREE

Backed out changeset 1a675abcc1f0 (bug 1355648)
Backed out changeset f07c7d6ddb8d (bug 1355648)

MozReview-Commit-ID: 86HfzOsNVjZ
2017-04-25 20:31:16 -07:00
Daosheng Mu
ef375d9ec8 Bug 1356421 - Part 2: Notify GamepadManager when controllers are removed in VR manager; r=kip
MozReview-Commit-ID: Hje9NTF4xxz
2017-04-24 13:42:59 +08:00
Daosheng Mu
efe8172d2c Bug 1355648 - Part 1: Check VR controllers if losing tracking; r=kip
MozReview-Commit-ID: B8DaBmz1mJo
2017-04-21 18:14:42 +08:00
Daosheng Mu
c3e9b68fc5 Bug 1353523 - Add adjustable threshold value for VR controller trigger inputs; r=kip
MozReview-Commit-ID: KQMccZeE2IK
2017-04-19 13:14:13 +08:00
Kearwood Gilbert
c5a8ac58b8 Bug 1356387 - Add constructor to VRHMDSensorState
- Also removed some now redundant calls to VRHMDSensorState::Clear()


MozReview-Commit-ID: Kkbvkn3XAP4
2017-04-17 12:15:38 -07:00
Daosheng Mu
5270381aa2 Bug 1336003 - Oculus Touch button touched support; r=kip
MozReview-Commit-ID: 95RViosiVXO
2017-04-13 14:06:07 +08:00
Kearwood Gilbert
f4f082d504 Bug 1351048 - Do not load VR libraries until necessary, Oculus cleanup r=daoshengmu
- I have refactored the Oculus and OpenVR interfaces in gfx/vr
  so that initialization of the VR libraries only happens once
  a WebVR site is detected.
- The Oculus interface has been cleaned up and updated to unload the Oculus
  runtime library when not in use.
- The browser can now re-connect to Oculus home if it was restarted, without
  restarting the browser.
- We no longer submit a black frame at the end of VR presentation, as this
  appears to be handled by the latest Oculus runtime automatically.
- As we only hold on to the Oculus runtime when needed, this should
  reduce the likelihood of the GPU process being killed by the Oculus
  software updater.

MozReview-Commit-ID: AyWeD4CxXLD
2017-03-30 09:35:49 -04:00
Daosheng Mu
b69520290d Bug 1336002 - Part 3: Support button touched in OpenVR and Puppet; r=kip
MozReview-Commit-ID: CMacSyuK3mv
2017-04-06 19:00:20 +08:00
Kearwood Gilbert
f16262f6c4 Bug 1351687 - Correct and Enable Pose Prediction for Oculus r=daoshengmu
MozReview-Commit-ID: Cl6DufZGxgQ
2017-03-30 15:27:50 -04:00
Daosheng Mu
805a4f6e04 Bug 1305892 - Support Oculus Touch Haptic Feedback; r=kip
MozReview-Commit-ID: 7V931IAcbbx
2017-03-29 17:58:11 +08:00
Daosheng Mu
9c398c555a Bug 1299937 - Part 3: Implement haptic pulse for OpenVR controller; r=kip,qdot
MozReview-Commit-ID: TUIbJpyng4
2017-02-02 14:57:58 +08:00
Daosheng Mu
62775df39d Bug 1349414 - Allow updating VR controllers at the non-presenting mode; r=kip
MozReview-Commit-ID: CA6YxLxySDi
2017-03-22 09:58:06 +08:00
Kearwood Gilbert
d983a8d3d0 Bug 1344393 - Add StageParameters for Oculus r=daoshengmu
MozReview-Commit-ID: 9OkleewwS2b
2017-03-17 13:33:56 -07:00
Daosheng Mu
3db7b0de90 Bug 1346149 - Part 4: No longer need the index attribute in VRControllerHost; r=kip
MozReview-Commit-ID: 18KREzO4dy0
2017-03-17 11:09:24 +08:00
Daosheng Mu
39e48ca1f7 Bug 1346149 - Part 2: Adjust Oculus Touch button and axis mapping; r=kip
MozReview-Commit-ID: H9FxkG0S5OL
2017-03-16 15:54:00 +08:00
Kearwood Gilbert
ac8cf8eb5a Bug 1345564 - Reduce sync IPC calls used by WebVR r=daoshengmu,Ehsan,kanru
- Eliminated the VRDisplay.GetImmediateSensorState sync call
  and associated code as it is no longer needed.

MozReview-Commit-ID: 7BsCKC9EbsY
2017-03-03 16:21:18 -08:00
Daosheng Mu
7c17cccfd3 Bug 1341516 - Fix Oculus Touch ID and poseState; r=kip
MozReview-Commit-ID: 9FoLcQmgxjg
2017-02-22 12:13:30 +08:00
Daosheng Mu
d569a7f4ed Bug 1305891 - Part 3: Replace GetIndex() with the index from mOculusController; r=kip
MozReview-Commit-ID: HHdzsxg5voi
2017-02-13 11:19:31 +08:00
Daosheng Mu
08baf2df7a Bug 1305891 - Part 2: Accept GamepadHand as the parameter when VRControllerHost constructs; r=kip
MozReview-Commit-ID: IYscauVw8iE
2017-02-13 11:18:11 +08:00
Daosheng Mu
da04ba6429 Bug 1305891 - Part 1: Support Oculus Touch orientation and position tracking; r=kip
MozReview-Commit-ID: JQr6gzF06k7
2017-02-02 17:57:39 +08:00
Daosheng Mu
2acfdf46d0 Bug 1305890 - Part 3: Change OpenVR and Oculus Touch gamepad id; r=kip
MozReview-Commit-ID: Igp2mmlI5sW
2017-02-10 15:13:44 +08:00
Daosheng Mu
fec606d21b Bug 1305890 - Part 2: Oculus Touch axis move support; r=kip
MozReview-Commit-ID: 9lKdv0rI1z7
2017-01-04 15:40:00 +08:00
Daosheng Mu
0b2c4adb88 Bug 1305890 - Part 1: Oculus Touch button inputs support; r=kip
MozReview-Commit-ID: CJmSW00e8Ov
2017-01-04 11:30:49 +08:00
Daosheng Mu
43424d7943 Bug 1305889 - Part 3: Enumerate Oculus Touch Controllers; r=kip
MozReview-Commit-ID: Ep57r4hxrRt
2017-02-06 16:13:33 +08:00
Kearwood (Kip) Gilbert
5ce3af7cc0 Bug 1293333 - Part 1: Implement window.onvrdisplayactivate and window.onvrdisplaydeactivate events r=daoshengmu,Ehsan
MozReview-Commit-ID: 746L5KObBcg
2016-10-18 18:18:10 -04:00
Daosheng Mu
08d16c492b Bug 1332989 - Using VRSystemManager to manage vr displays and controllers; r=kip
MozReview-Commit-ID: 7M1ihvCpU9g
2017-01-24 17:49:11 +08:00
Daosheng Mu
e666fce4e0 Bug 1305873 - Upgrade Oculus SDK to 1.10.1; r=kip
MozReview-Commit-ID: 9eu2G2elvYM
2017-01-03 17:01:49 +08:00
Daosheng Mu
ea19550117 Bug 1299928 - Part 2: Rename VRDisplayType to VRDeviceType; r=kip
MozReview-Commit-ID: IZ1eJUtBeRI
2016-10-04 16:22:42 +08:00
Nathan Froyd
afa8c936cb Bug 1298134 - fix member initialization order in VRDisplayOculus; r=kip 2016-09-14 19:28:26 -04:00
Nathan Froyd
ce4e7fca4c Bug 1298132 - remove unused variables in gfxVROculus.cpp; r=kip 2016-09-14 19:28:26 -04:00
Kearwood (Kip) Gilbert
d9c7a59de9 Bug 1297105 - Prevent crash when DX11 resources fail to be allocated for Oculus VR HMD presentation r=mccr8
MozReview-Commit-ID: 3KLGu3DJVbP
2016-08-30 15:34:11 -07:00
kearwood
88943bd15a Bug 1186578 - [webvr] Implement OpenVR/SteamVR support,r=gw280
MozReview-Commit-ID: LmpcMJubrYR
2016-07-22 12:41:00 -07:00
Sotaro Ikeda
85f2d33a46 Bug 1259571 - Reduce tearing with basic layers on Windows r=dvander 2016-08-23 15:18:55 -07:00
Kearwood (Kip) Gilbert
429c0c2603 Bug 1250244 - Part 7: Implement WebVR 1.0 API,r=bz
MozReview-Commit-ID: JTOmaWePlJq
2016-02-24 15:54:50 -08:00
Kearwood (Kip) Gilbert
dfe72ee7b6 Bug 1250244 - Part 6: Replace VRStateValidFlags with VRDisplayCapabilityFlags,r=gw280
MozReview-Commit-ID: 2D4isWasWMz
2016-04-18 12:12:33 -07:00
Kearwood (Kip) Gilbert
bbfa14d4ea Bug 1250244 - Part 5: Rename VRDevice to VRDisplay,r=bz
- In order to reduce the size of the following patches
  and increase their readability, we rename VRDevice
  to VRDisplay here first.

MozReview-Commit-ID: 3pv8scdIi5w
2016-04-12 17:39:28 -07:00
Kearwood (Kip) Gilbert
f252776db2 Bug 1250244 - Part 4: Remove Cardboard VR Support,r=gw280
- The Cardboard VR support has hardcoded values and uses low-performance
  orientation APIs and rendering paths.
- There is little benefit to this Cardboard VR implementation over using
  polyfills.
- A future implementation would be based on Google VR support in Android N
  and/or Samsung Gear VR Oculus Mobile APIs.

MozReview-Commit-ID: 7e9Th8ZTmj8
2016-05-27 13:49:13 -07:00
kearwood
2ff936d30d Bug 1260530 - Add support for Oculus 1.3 runtime r=daoshengmu
MozReview-Commit-ID: K8BUa3u0qyA
2016-03-31 13:05:23 -07:00
kearwood
ea20b59b63 Bug 1251886 - Correct inputFrameID selection when using e10s r=daoshengmu
- ContainerLayerComposite::ContainerRenderVR failed to find
  a CanvasLayerComposite and get an inputFrameId as it was
  only looking at immediate children layers.
- Initialize Oculus SDK structures with 0 to ensure code is less
  brittle when Oculus SDK is updated in the future.
- Added assert and sanity check to ensure that valid inputFrameID's
  are used when indexing the Oculus pose buffers.

MozReview-Commit-ID: 136lf8aMWms
2016-03-01 18:00:07 -08:00
Kearwood (Kip) Gilbert
501373151f Bug 1237691 - Implement Oculus Head Pose Prediction
MozReview-Commit-ID: 4hbKmZycEcn
2016-02-16 12:53:33 -08:00
kearwood
ccf22e27a5 Bug 1237689 - Enable Oculus hardware latency tester r=daoshengmu
- Generate and pass sequential frame indexes into the ovr_GetTrackingState call and the corresponding call to ovr_SubmitFrame

MozReview-Commit-ID: 5tJl5YJt7Eo
2016-01-08 18:50:10 -08:00
kearwood
52e2784bab Bug 1230352 - Update to Oculus SDK 0.8.0,r=vlad 2015-09-22 09:38:28 -04:00
Kearwood (Kip) Gilbert
5a47539886 Bug 1235740 - Remove warning for missing Oculus VR Library from terminal output, as it is spammy and not necessary r=dholbert 2015-12-30 16:26:37 -08:00
Kearwood (Kip) Gilbert
2773eeacb8 Bug 1182048 - Part 2: Implement e10s support for WebVR,r=vlad 2015-09-17 14:23:13 -07:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Vladimir Vukicevic
cc9c621b23 Bug 1186608, [webvr] Add individual prefs to disable backends, set sane defaults; r=mstange 2015-04-12 23:05:36 -04:00
Vladimir Vukicevic
5aa25befad Bug 1179944, [webvr] support Oculus 0.6.0 runtime and rendering; r=mstange
---
 gfx/2d/Quaternion.h                              |  10 +
 gfx/layers/Layers.h                              |   6 +-
 gfx/layers/composite/ContainerLayerComposite.cpp | 161 +++++++---
 gfx/layers/composite/ContainerLayerComposite.h   |   3 +
 gfx/thebes/gfxPrefs.h                            |   2 +
 gfx/vr/gfxVR.cpp                                 |  56 ++++
 gfx/vr/gfxVR.h                                   |  37 +++
 gfx/vr/gfxVRCardboard.cpp                        |  54 +---
 gfx/vr/gfxVROculus.cpp                           | 367 +++++++++++++++--------
 gfx/vr/gfxVROculus.h                             |  14 +-
 gfx/vr/moz.build                                 |  10 +
 gfx/vr/ovr_capi_dynamic.h                        | 261 +++++++++++-----
 modules/libpref/init/all.js                      |   3 +
 13 files changed, 694 insertions(+), 290 deletions(-)
2015-07-02 11:58:24 -04:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Vladimir Vukicevic
fc9b5b3ea0 Bug 1151937; [webvr] change deviceId/hardwareId to simple values; r=jrmuizel CLOSED TREE 2015-04-07 13:26:44 -04:00