Commit Graph

54 Commits

Author SHA1 Message Date
Daosheng Mu
21043eccbc Bug 1523351 - Part 3: Handling GamepadTouch and GamepadLightIndicator events in Gamepad service. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D29290

--HG--
extra : moz-landing-system : lando
2019-05-29 22:15:23 +00:00
Daniel Varga
b173205f5e Backed out 5 changesets (bug 1523351) for build bustage at builds/worker/workspace/build/src/dom/gamepad/GamepadRemapping.cpp on a CLOSED TREE
Backed out changeset 723d0a919d71 (bug 1523351)
Backed out changeset 13dcba81ff07 (bug 1523351)
Backed out changeset 6209717410be (bug 1523351)
Backed out changeset 80b34e6ce876 (bug 1523351)
Backed out changeset 7bdb7982c3af (bug 1523351)
2019-05-30 01:10:11 +03:00
Daosheng Mu
fdcc151ea4 Bug 1523351 - Part 3: Handling GamepadTouch and GamepadLightIndicator events in Gamepad service. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D29290

--HG--
extra : moz-landing-system : lando
2019-05-29 20:48:27 +00:00
Daniel Varga
943f938b03 Backed out 5 changesets (bug 1523351) for causing build bustage at /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/StaticPrefList.h on a CLOSED TREE
Backed out changeset 607b23dcc62a (bug 1523351)
Backed out changeset b8169dcf0631 (bug 1523351)
Backed out changeset 982cd43dc8d9 (bug 1523351)
Backed out changeset 053540f0b00a (bug 1523351)
Backed out changeset cac2a77abd09 (bug 1523351)
2019-05-29 23:45:15 +03:00
Daosheng Mu
c41523ff67 Bug 1523351 - Part 3: Handling GamepadTouch and GamepadLightIndicator events in Gamepad service. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D29290

--HG--
extra : moz-landing-system : lando
2019-05-22 23:02:26 +00:00
Ryan Hunt
85ff4bdc33 Bug 1523969 part 8 - Move method definition inline comments to new line in 'gfx/'. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D21108

--HG--
extra : rebase_source : 48a4586f507891f3a2f0f970e9b9a0b15f0f3d61
2019-02-25 16:07:19 -06:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
thomasmo
b16b2cbba6 Bug 1474034 - Use consistent prefixes for POD struct members in gfx/vr/external_api/moz_external_vr.h r=kip
This change updates the structs VRDisplayState, VRLayer_2D_Content, and VRLayer_Stereo_Immersive to not have 'm' prefix for its members.

Differential Revision: https://phabricator.services.mozilla.com/D16000

--HG--
extra : moz-landing-system : lando
2019-01-09 21:57:36 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Kearwood "Kip" Gilbert
f65dbeca74 Bug 1473397 - Implement haptic feedback support for gfxVRExternal and OpenVRSession r=daoshengmu
- Implemented 1ms, 10ms, and 100ms VR tasks, dispatched from
  VRManager
- Removed Android-specific code that compensated for
  tasks that did not run when the...

...compositor was paused.

Differential Revision: https://phabricator.services.mozilla.com/D3378

--HG--
extra : moz-landing-system : lando
2018-09-25 22:56:10 +00:00
Kearwood Gilbert
d0b35a2ff4 Bug 1470527 - Implement Controller support for gfxVRExternal and VRServiceOpenVR,r=daoshengmu
MozReview-Commit-ID: I1xHfmAPMxT

--HG--
extra : rebase_source : 5d957ff6172f3e730b61878b9067ec506ea4a383
extra : source : 66c97a5d22efc6436aab76756759b9b51517e940
2018-07-11 12:20:51 -07:00
Ciure Andrei
4a390e2fc4 Backed out 1 changesets (bug 1470527) for build bustages on OpenVRSession.cpp CLOSED TREE
Backed out changeset 66c97a5d22ef (bug 1470527)
2018-07-11 23:23:42 +03:00
Kearwood Gilbert
0ee53b44e4 Bug 1470527 - Implement Controller support for gfxVRExternal and VRServiceOpenVR
--HG--
extra : amend_source : d639de8cb929b209bbde0f44b47acadd23a9e257
2018-07-11 12:20:51 -07:00
Kearwood Gilbert
d0b2b8da65 Bug 1436791 - Implement gfxVRExternal,r=rbarker
- gfxVRExternal Enables other processes to present
  real or simulated VR hardware to Firefox.
- This functionality is disabled by default, under
  dom.vr.external.enabled.
- VRDisplayInfo, VRControllerInfo, and associated
  structs have been restructured to ensure internal
  state is not exposed via shmem interface.
- Some refactoring to convert structs to
  POD types, enabling them to be located
  in shmem and be memcpy'd.
- Work needed before unpreffing marked
  with "TODO" comments.
MozReview-Commit-ID: FbsusbxuoQ8

--HG--
extra : rebase_source : 8a448169c3f47411c705a4d9fd462a1f9363dfd9
extra : amend_source : e6702549527292e2850d16e8f503f0be9848159f
2018-03-13 17:09:54 -07:00
Kearwood "Kip" Gilbert
a9dbddfdba Bug 1407423 - Ensure that any time we have loaded the Oculus runtime libary, we are polling ShouldQuit,r=daoshengmu
- Ensure ovr_GetSessionStatus is polled even when a VR presentation
  is not active.
- When we fail to initialize an Oculus Session or detect VR hardware,
  immediately unload the Oculus Library as we can't poll for ShouldQuit
  without a valid Oculus session.
- When we poll ovr_GetSessionStatus, we are now updating the mounted state
  in VRDisplayInfo::mIsMounted.
- Added prefs to control enumeration throttling and timeout to release
  VR hardware when inactive.
- Some refactoring to make frame loop more understandable and less
  brittle.
- When throttling enumeration, we ensure that all other VR apis
  also throttle enumeration so that they don't pick up the same device
  during throttling.
- Some long functions in VRManager have been broken up and
  had their inner-workings documented in more detail.

MozReview-Commit-ID: CEYwwQ9mYd0

--HG--
extra : rebase_source : b2ab0dfc17b9ddc06f6afafdf69497fb9418fd47
2017-10-10 14:42:37 -07:00
Kearwood "Kip" Gilbert
ccc6462307 Bug 1410493 - Update Oculus SDK from 1.5 to 1.9, update IPD during VR presentation r=daoshengmu
- Oculus SDK was updated from 1.5 to 1.9
- As the Oculus API now returns quaternion orientations for each
  eye-to-head transform, I needed to send more information to the
  content process.
- Rather than adding the quaternion, we now calculate the view matrices
  on the VR thread in the GPU process rather than calculating it in the
  content thread from parameters.
- OpenVR's full view matrix is now used, for compatibility with more devices.
- IPD adjustments are now updated every frame for both Oculus and OpenVR.


MozReview-Commit-ID: LOtfs4QIqc8

--HG--
extra : rebase_source : 0a69824012ede4bea0e0e709a2d027d0c35730bb
2017-10-23 14:23:03 -07:00
Daniel Holbert
126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Chih-Yi Leu
47a2617b3f Bug 1381378: Refactor - Isolate gamepad index and GamepadServiceType from GamepadChangeEvent; r=daoshengmu
MozReview-Commit-ID: IFjvDsl6vlY

--HG--
extra : rebase_source : 2b9add020e182acb03c01bd5c55742dc7860625d
2017-07-17 11:44:39 +08:00
Daosheng Mu
50f04ed171 Bug 1375816 - Part 3: VRController displayId attribute support; r=kip
MozReview-Commit-ID: CfWCYJuZaBK

--HG--
extra : rebase_source : faa7a409d619d7618784e1d80358b59625dc87e6
2017-07-14 17:01:09 +08:00
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
Daosheng Mu
5ec9ae756d Bug 1356452 - Part 5: Detect hand changing at runtime for OpenVR controllers; r=kip
MozReview-Commit-ID: AR5zpxryIw6

--HG--
extra : rebase_source : c99f87a1c82b59c106bbb7e1c1c29d2478e2d353
2017-04-18 15:58:34 +08:00
Daosheng Mu
065b13fe52 Bug 1356452 - Part 1: Remove assertion for checking VRManager::Get(); r=kip
MozReview-Commit-ID: CMCX9Fq55tS

--HG--
extra : rebase_source : 10342128d91fea22b66dfd99379764ac6cccccc4
2017-04-18 12:45:44 +08:00
Daosheng Mu
639e273a82 Bug 1336002 - Part 3: Support button touched in OpenVR and Puppet; r=kip
MozReview-Commit-ID: CMacSyuK3mv

--HG--
extra : rebase_source : 202edb4a20fdabf38ac9edda7b2dbe336f4ebc3b
2017-04-06 19:00:20 +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
ce4a76e405 Bug 1346149 - Part 1: Make button support value in VRSystemManager; r=kip
MozReview-Commit-ID: 72rqJZtIaDa

--HG--
extra : rebase_source : 393ad8033f656d8bd26dcf000764c51bc70f8c4f
2017-03-16 15:49:46 +08:00
Daosheng Mu
3e9c86df65 Bug 1305889 - Part 2: Using VRControllerInfo as the parameter for AddGamepad; r=kip
MozReview-Commit-ID: Coye62hZxRs

--HG--
extra : rebase_source : d4166395794a55c565f37b803099682c9e075d8b
2017-02-06 16:12:52 +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
Daosheng Mu
370aa4a0c8 Bug 1315896 - Part 3: Remove MOZ_GAMEPAD in VR module; r=kip
MozReview-Commit-ID: I9vJvxgFgIh

--HG--
extra : rebase_source : 270e971ace44b00d9877a67f68f349bbd9b550c1
2016-12-08 13:01:11 -10:00
Daosheng Mu
01da49789d Bug 1313581 - Part 3: Support hand attribute for OpenVR controllers; r=gw280
MozReview-Commit-ID: Ek91HPwsqVP

--HG--
extra : rebase_source : c522b718d0328c89d6e22f93d180f69f3719fa7e
2016-11-14 17:35:54 +08:00
Daosheng Mu
4d84c1a5cc Bug 1299932 - Part 3: Handle OpenVR controller position and orientation; r=kip
MozReview-Commit-ID: FyneJ5JfeNE

--HG--
extra : rebase_source : afd91ee94416285441397e6f51d6031c40fa5513
2016-10-24 18:09:11 +08:00
Daosheng Mu
ba525e3bc3 Bug 1310904 - Part 2: Solving non MOZ_GAMEPAD case in VR; r=gw280
MozReview-Commit-ID: mOoSWGQawI

--HG--
extra : rebase_source : 4171659ed182e243e88b276ec56f5d5829593d56
2016-11-04 15:53:01 +08:00
Daosheng Mu
ebd920cbdb Bug 1313585 - Part 2: Removing the existing gamepads before scanning VR controllers; r=gw280
MozReview-Commit-ID: 24a4tRoYX8f

--HG--
extra : rebase_source : fa48d7214fb2b4d1a891b201dac7c178374ac91a
2016-10-28 16:00:12 +08:00
Daosheng Mu
cdee94bb39 Bug 1299930 - Support OpenVR controller trackpads via Gamepad API; r=kip
MozReview-Commit-ID: 41C0rc7fZTi

--HG--
extra : rebase_source : 406409b3f035134f7dab7eddb75905618ba0256d
2016-10-22 00:01:26 +08:00
Daosheng Mu
3670ffdaad Bug 1299929 - Part 1: Send GamepadServiceType in the the button and axis events; r=kip
MozReview-Commit-ID: AmrTpNFgkVj

--HG--
extra : rebase_source : c187592f9071fef94e8059ffdeab891c8432a397
2016-10-14 17:39:51 +08:00
Daosheng Mu
e01d3ca1b4 Bug 1299928 - Part 4: Implement VRControllerManager; r=kip
MozReview-Commit-ID: 3bItvKV2HB

--HG--
extra : rebase_source : 2c41e08774b67c1b369bf20fec4f96597f6214ad
2016-10-07 16:58:01 +08:00
Kearwood (Kip) Gilbert
423a243482 Bug 1306415 - Part 1: Implement VRFrameData and VRDisplay.getFrameData,r=smaug,r=dmu
MozReview-Commit-ID: HlZUtZ7iZb5

--HG--
extra : rebase_source : 2d5de1522c0b06aa49d5a0ad3fe2170fff78ec37
2016-09-30 16:43:33 -07: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
20e3431c17 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 (Kip) Gilbert
d7f19a6795 Bug 1250244 - Part 3: Remove Oculus 0.5 Runtime support,r=gw280
- Oculus 0.5 runtime was the last to support OSX, but is no longer supported
  on the latest (El Capitan) OSX version and does not support current
  shipping Oculus hardware.
- Oculus 1.x runtime will continue to be supported for Oculus on Windows.

MozReview-Commit-ID: 2c7qViLoyr0
2016-05-27 13:49:09 -07:00
Georgiy Frolov
60cd01af74 Bug 1198518: [webvr] add support for OSVR,r=kip
MozReview-Commit-ID: K9nHww0Fe8s
2016-04-26 17:18:21 -04:00
kearwood
e44580c5fd Bug 1260530 - Add support for Oculus 1.3 runtime r=daoshengmu
MozReview-Commit-ID: K8BUa3u0qyA

--HG--
extra : rebase_source : cbb1710549428e7e3a45bb766c3502ec4534f5f1
2016-03-31 13:05:23 -07:00
Kearwood (Kip) Gilbert
0c83ce5c05 Bug 1182048 - Part 2: Implement e10s support for WebVR,r=vlad 2015-09-17 14:23:13 -07:00
Birunthan Mohanathas
9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02: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
a55a1c1deb Bug 1186608, [webvr] Add individual prefs to disable backends, set sane defaults; r=mstange 2015-04-12 23:05:36 -04:00
Vladimir Vukicevic
0827824d86 Bug 1179944, [webvr] put back support for Oculus 0.5.0 runtime, for OSX and Linux; r=mstange 2015-06-05 13:14:10 -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