Граф коммитов

33 Коммитов

Автор SHA1 Сообщение Дата
Sebastian Hengst 8689e62ade Backed out changeset 13155b1e7a48 (bug 1375816) 2017-07-18 11:48:26 +02:00
Daosheng Mu 9e15accf51 Bug 1375816 - Part 3: VRController displayId attribute support; r=kip
MozReview-Commit-ID: CfWCYJuZaBK

--HG--
extra : rebase_source : 1fdc733c56978ad87d35a323997f5058e1f35247
2017-07-14 17:01:09 +08:00
Wes Kocher eaeabd21b5 Backed out 4 changesets (bug 1375816) for various failures including builds busted in gfxVROculus.cpp a=backout
Backed out changeset 73619b7ce23d (bug 1375816)
Backed out changeset dd09fc501f90 (bug 1375816)
Backed out changeset fd4517198d6c (bug 1375816)
Backed out changeset e15e060f034c (bug 1375816)

MozReview-Commit-ID: 9VXOC0V45NE
2017-07-17 23:18:21 -07:00
Daosheng Mu a4e7f823f5 Bug 1375816 - Part 3: VRController displayId attribute support; r=kip
MozReview-Commit-ID: CfWCYJuZaBK

--HG--
extra : rebase_source : 1fdc733c56978ad87d35a323997f5058e1f35247
2017-07-14 17:01:09 +08:00
Kearwood "Kip" Gilbert 0a5d006f8a Bug 1287944 - Improve interaction with Oculus Home r=daoshengmu
- Now destroying and re-creating Oculus sessions when switching
  between magic window and immersive WebVR (BeginPresent / ExitPresent)
- Now sending flags to Oculus ovr_initilize to specify if Firefox will
  be presenting to the VR display or just using tracking
- Now coordinating oculus session shutdown and restart between the
  VR controllers and the VR display with reference counting.
- Now able to return to Oculus home after using WebVR
- Magic window / non-exclusive sessions no longer take over the VR headset
  causing it to display a message that Firefox.exe is not responding.


MozReview-Commit-ID: EnRsxt6ZSzg

--HG--
extra : rebase_source : 10ba1b76bf75774b8842d99b555319fb5dd7f736
2017-07-04 13:28:27 -07:00
Wes Kocher c119435f8a Backed out changeset f9b033c61423 (bug 1287944) for win debug failures in test_child_assertions.js a=backout
MozReview-Commit-ID: Fem34WwTkY6
2017-07-06 17:03:39 -07:00
Kearwood "Kip" Gilbert d4f04befed Bug 1287944 - Improve interaction with Oculus Home r=daoshengmu
- Now destroying and re-creating Oculus sessions when switching
  between magic window and immersive WebVR (BeginPresent / ExitPresent)
- Now sending flags to Oculus ovr_initilize to specify if Firefox will
  be presenting to the VR display or just using tracking
- Now coordinating oculus session shutdown and restart between the
  VR controllers and the VR display with reference counting.
- Now able to return to Oculus home after using WebVR
- Magic window / non-exclusive sessions no longer take over the VR headset
  causing it to display a message that Firefox.exe is not responding.


MozReview-Commit-ID: EnRsxt6ZSzg

--HG--
extra : rebase_source : d1ecf52e064ffe88c2cdebb011b8ffa9beb7b46e
2017-07-04 13:28:27 -07:00
Kearwood Gilbert a679f93781 Bug 1352446 - Fix 32-bit build crash with Oculus VR r=daoshengmu
- Validate GetSharedResourceView in VRDisplayOculus::SubmitFrame and VRDisplayPuppet::SubmitFrame
- Correct size of frameIndex to be "long long" rather than "int" for
  ovr_GetPredictedDisplayTime
- Updated to Oculus 1.15.0 SDK
- Now sending absolute timestamp of the predicted frame time
  to ovr_GetTrackingState rather than a delta

MozReview-Commit-ID: GLSkqwae7Jp

--HG--
extra : rebase_source : 80a051c4af9e2241fe971fc2763015b5f3d18f7c
2017-06-08 14:03:26 -07:00
Kearwood Gilbert eb3becc0b0 Bug 1362213 - Implement chrome-only API to manage VR sessions r=daoshengmu,kanru,smaug
- Added new chrome-only webidl methods to be used by browser UI and WebExtensions
- Implemented bitmasked group visibility for VR sessions to enable switching
  between chrome and regular content presentations.
- Implemented throttling mechanism to avoid runaway, unthrottled render loops
  for VR sessions that are hidden by group visibility bitmasks or due to
  lower level platform VR events, such as during the Oculus
  "Health and Safety Warning".
- Simplified the PVRManager IPC protocol while extending it to support
  VR session groups and later WebVR content performance profiling API's.
- Removed the last WebVR related sync IPC call.


MozReview-Commit-ID: BMEIPyYeEbq

--HG--
extra : rebase_source : 47d3682cad3d913504175b7d4c3e9d992236f097
2017-05-08 16:01:36 -07:00
Daosheng Mu b4fb3b9c83 Bug 1353523 - Add adjustable threshold value for VR controller trigger inputs; r=kip
MozReview-Commit-ID: KQMccZeE2IK

--HG--
extra : rebase_source : b8c60e59c7f9678fdb15f3dcc6770198ec35b82a
2017-04-19 13:14:13 +08:00
Daosheng Mu 44629c133a Bug 1336003 - Oculus Touch button touched support; r=kip
MozReview-Commit-ID: 95RViosiVXO

--HG--
extra : rebase_source : 4a3b714e3abd18fccf526392210477d63ae6dc26
2017-04-13 14:06:07 +08:00
Kearwood Gilbert 043d85c921 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

--HG--
extra : rebase_source : 9eae07ef30b1a7559b5fe80e6698c248a55b970e
2017-03-30 09:35:49 -04:00
Daosheng Mu 22ebee8da0 Bug 1305892 - Support Oculus Touch Haptic Feedback; r=kip
MozReview-Commit-ID: 7V931IAcbbx

--HG--
extra : rebase_source : 3423aa7a99b79293783cb1572f8ad3d7a257c7c7
2017-03-29 17:58:11 +08:00
Daosheng Mu 3905da3aea Bug 1299937 - Part 3: Implement haptic pulse for OpenVR controller; r=kip,qdot
MozReview-Commit-ID: TUIbJpyng4

--HG--
extra : rebase_source : e449c85d0e8f9a64a63929d1211dbca3fed8a4b6
2017-02-02 14:57:58 +08:00
Daosheng Mu a5e10d768b Bug 1349414 - Allow updating VR controllers at the non-presenting mode; r=kip
MozReview-Commit-ID: CA6YxLxySDi

--HG--
extra : rebase_source : 058b8aebdf8d13e22d2c25bdf037094ca1e52f4b
2017-03-22 09:58:06 +08:00
Kearwood Gilbert d6adf366f6 Bug 1344393 - Add StageParameters for Oculus r=daoshengmu
MozReview-Commit-ID: 9OkleewwS2b

--HG--
extra : rebase_source : 75bffc843ba9a3d869700334c41ceb910707e5f4
2017-03-17 13:33:56 -07:00
Daosheng Mu a9b4ca18eb Bug 1346149 - Part 2: Adjust Oculus Touch button and axis mapping; r=kip
MozReview-Commit-ID: H9FxkG0S5OL

--HG--
extra : rebase_source : d45ec0ccb7f4f0f9ca79df85b499a489983e4897
2017-03-16 15:54:00 +08:00
Kearwood Gilbert 5441d7848d 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

--HG--
extra : rebase_source : ae2de369d156e397d919d83b6c63b10374953bae
2017-03-03 16:21:18 -08:00
Daosheng Mu 4bcfff5f8b Bug 1305891 - Part 2: Accept GamepadHand as the parameter when VRControllerHost constructs; r=kip
MozReview-Commit-ID: IYscauVw8iE

--HG--
extra : rebase_source : f11f9ec7d486f41917d687009ba1b47c933a68ba
2017-02-13 11:18:11 +08:00
Daosheng Mu 585f71980a Bug 1305890 - Part 3: Change OpenVR and Oculus Touch gamepad id; r=kip
MozReview-Commit-ID: Igp2mmlI5sW

--HG--
extra : rebase_source : 3c1992f62088b18ad69a8d267f9e101a74841069
2017-02-10 15:13:44 +08:00
Daosheng Mu 6921030384 Bug 1305890 - Part 2: Oculus Touch axis move support; r=kip
MozReview-Commit-ID: 9lKdv0rI1z7

--HG--
extra : rebase_source : e92a15c9dfda19bb8d11b3993470cd249b571be4
2017-01-04 15:40:00 +08:00
Daosheng Mu ea40b47f3e Bug 1305889 - Part 3: Enumerate Oculus Touch Controllers; r=kip
MozReview-Commit-ID: Ep57r4hxrRt

--HG--
extra : rebase_source : 289293f7573770e1fbc81b6a8820dfa11b124899
2017-02-06 16:13:33 +08:00
Daosheng Mu 658e2d193c Bug 1332989 - Using VRSystemManager to manage vr displays and controllers; r=kip
MozReview-Commit-ID: 7M1ihvCpU9g

--HG--
extra : rebase_source : aba82b0aa8ab67860418a39dd0eaa21ea18e563e
2017-01-24 17:49:11 +08:00
Kearwood (Kip) Gilbert 434f167559 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 e3fd6329c9 Bug 1237691 - Implement Oculus Head Pose Prediction
MozReview-Commit-ID: 4hbKmZycEcn
2016-02-16 12:53:33 -08:00
kearwood d2f423667c 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

--HG--
extra : rebase_source : 5dbb35ea1451a9f378e28d81a8704b63b1b72b4d
2016-01-08 18:50:10 -08:00
kearwood 5053ceed98 Bug 1230352 - Update to Oculus SDK 0.8.0,r=vlad 2015-09-22 09:38:28 -04:00
Kearwood (Kip) Gilbert 0c83ce5c05 Bug 1182048 - Part 2: Implement e10s support for WebVR,r=vlad 2015-09-17 14:23:13 -07:00
Nathan Froyd 01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Vladimir Vukicevic 7cbcb3db2b 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
Bobby Holley 97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Vladimir Vukicevic 1e5251137d Bug 1148009; [webvr] Move distortion vertex struct into more generic system; r=jrmuizel 2015-04-01 16:02:20 -04:00
Vladimir Vukicevic 8e37e99593 Bug 1148009; [webvr] Split out gfxVROculus from gfxVR, refactor VRHMDManager; r=jrmuizel 2015-04-01 16:02:20 -04:00