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

58 Коммитов

Автор SHA1 Сообщение Дата
Kearwood "Kip" Gilbert c0e22d6c35 Bug 1400387 - Change 32-bit VR Frame ID's to 64-bit r=daoshengmu
MozReview-Commit-ID: BSvZMa0XVSO

--HG--
extra : rebase_source : 47c1a2cc9ff756cc1dd9174a12a434c4fbfc4a09
2017-09-15 13:38:47 -07:00
Daosheng Mu b95528913e Bug 1392476 - Add dropframe telemetry for WebVR; r=francois,kip
MozReview-Commit-ID: IPVnPBkY8CN

--HG--
extra : rebase_source : 437b3528cecb05bc0bb4307447dee3e18c63d762
2017-08-28 18:43:25 +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
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 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 a839377259 Bug 1343730 - Part 1: Support submitFrame and encode the frame as a base64 image in VRPuppet; r=kip
MozReview-Commit-ID: jHKHSoNo6X

--HG--
extra : rebase_source : df5050a488e19af81ebd240c5fb5fdfd30b46907
2017-05-23 16:55:30 +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
Kearwood Gilbert c944eed13a Bug 1356387 - Add constructor to VRHMDSensorState
- Also removed some now redundant calls to VRHMDSensorState::Clear()


MozReview-Commit-ID: Kkbvkn3XAP4

--HG--
extra : rebase_source : 0daecf8ad2f4baa8f3d199c65dc7c0cbeb4aceae
2017-04-17 12:15:38 -07: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 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 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
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 83f1b993be Bug 1229480: Implement Puppet VR Device; r=kip
MozReview-Commit-ID: hslhADrGs5

--HG--
extra : rebase_source : 8a0ead8f99f71fe36da428a4d4ead91d3ea02624
2017-03-02 00:04:12 +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
Kearwood (Kip) Gilbert 8dc97eb398 Bug 1293333 - Part 1: Implement window.onvrdisplayactivate and window.onvrdisplaydeactivate events r=daoshengmu,Ehsan
MozReview-Commit-ID: 746L5KObBcg

--HG--
extra : rebase_source : 3efa9171be4ec2aa6dc12bd4651e197571cf33c6
2016-10-18 18:18:10 -04: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
Xidorn Quan a8e64a94e1 Bug 1298756 - Use uint8_t/uint16_t as underlying type for enums from webidl. r=bz
MozReview-Commit-ID: 3uS9s5ZrPFd

--HG--
extra : rebase_source : ff64b4468ee99ba08fd8638298a27711b7fb6393
2017-01-12 12:23:37 +11: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 9f9b153369 Bug 1321505 - Clean VR controllers when nsGlobalWindow no longer uses gamepads; r=kip
MozReview-Commit-ID: IlAa5vDqwAE

--HG--
extra : rebase_source : 42e444083e2d43334147fb945643d12c4403af34
2016-12-01 14:16:16 +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 4a7f6008a3 Bug 1299929 - Part 3: Handle VRController button inputs; r=kip
MozReview-Commit-ID: DxI0dcc4uET

--HG--
extra : rebase_source : 5214f4457fadffb9e4a81c9bb986393125a30c33
2016-10-13 14:35:13 +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
Daosheng Mu 570a208647 Bug 1299928 - Part 3: Construct IPC channel between Gamepad and VRManager; r=kip
MozReview-Commit-ID: 9hpxlLlIdh7

--HG--
extra : rebase_source : f50bf15bef94129a4a8fbd659c8551a3f153e32c
2016-10-04 16:30:04 +08:00
Daosheng Mu 3803722838 Bug 1299928 - Part 2: Rename VRDisplayType to VRDeviceType; r=kip
MozReview-Commit-ID: IZ1eJUtBeRI

--HG--
extra : rebase_source : d6510af05fe972ff5fd8072ca7ea12e276636676
2016-10-04 16:22:42 +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 129f2f75a0 Bug 1186578 - [webvr] Implement OpenVR/SteamVR support,r=gw280
MozReview-Commit-ID: LmpcMJubrYR

--HG--
extra : rebase_source : c5d767c635bed9fa74ca94b2ce75952f20106702
2016-07-22 12:41:00 -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 0fa5a8cb30 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 0fa828c884 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 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 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 (Kip) Gilbert 0c83ce5c05 Bug 1182048 - Part 2: Implement e10s support for WebVR,r=vlad 2015-09-17 14:23:13 -07:00
Nicholas Nethercote d460857c94 Bug 1231256 (part 5) - Remove dead FromCSSPerspectiveInfo() function. r=vlad.
--HG--
extra : rebase_source : 495ec764ff035ec24a7c554469cb3837d8027570
2015-12-07 15:20:02 -08: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