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

389 Коммитов

Автор SHA1 Сообщение Дата
Kearwood Gilbert 7a3eb1a6a2 Bug 1494556 - Remove VRListenerThread r=daoshengmu
We are refactoring much of the code in gfx/vr, moving
most of the code that runs in the VRListenerThread into
it's own process.  The remaining code will be non-blocking
once this refactoring is complete.

In order to resolve some shutdown crashes, it is simpler
to remove the VRListenerThread and the related code
starting and stopping this thread.  If this is done
prior to completion of the refactoring for Bug 1473399
(Enable VRService thread by default), there would be a
regression in responsiveness during detection of VR
hardware due to blocking API calls moving off the thread.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 21:17:05 +00:00
Kearwood Gilbert ce372ea306 Bug 1466701 - Refactor gfxVROSVR.cpp to use gfxVRExternal interface r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D7352

--HG--
rename : gfx/vr/osvr/ClientKit/ClientKitC.h => gfx/vr/service/osvr/ClientKit/ClientKitC.h
rename : gfx/vr/osvr/ClientKit/ContextC.h => gfx/vr/service/osvr/ClientKit/ContextC.h
rename : gfx/vr/osvr/ClientKit/DisplayC.h => gfx/vr/service/osvr/ClientKit/DisplayC.h
rename : gfx/vr/osvr/ClientKit/Export.h => gfx/vr/service/osvr/ClientKit/Export.h
rename : gfx/vr/osvr/ClientKit/InterfaceC.h => gfx/vr/service/osvr/ClientKit/InterfaceC.h
rename : gfx/vr/osvr/ClientKit/InterfaceCallbackC.h => gfx/vr/service/osvr/ClientKit/InterfaceCallbackC.h
rename : gfx/vr/osvr/ClientKit/InterfaceStateC.h => gfx/vr/service/osvr/ClientKit/InterfaceStateC.h
rename : gfx/vr/osvr/ClientKit/SystemCallbackC.h => gfx/vr/service/osvr/ClientKit/SystemCallbackC.h
rename : gfx/vr/osvr/ClientKit/TransformsC.h => gfx/vr/service/osvr/ClientKit/TransformsC.h
rename : gfx/vr/osvr/Util/APIBaseC.h => gfx/vr/service/osvr/Util/APIBaseC.h
rename : gfx/vr/osvr/Util/AnnotationMacrosC.h => gfx/vr/service/osvr/Util/AnnotationMacrosC.h
rename : gfx/vr/osvr/Util/BoolC.h => gfx/vr/service/osvr/Util/BoolC.h
rename : gfx/vr/osvr/Util/ChannelCountC.h => gfx/vr/service/osvr/Util/ChannelCountC.h
rename : gfx/vr/osvr/Util/ClientCallbackTypesC.h => gfx/vr/service/osvr/Util/ClientCallbackTypesC.h
rename : gfx/vr/osvr/Util/ClientOpaqueTypesC.h => gfx/vr/service/osvr/Util/ClientOpaqueTypesC.h
rename : gfx/vr/osvr/Util/ClientReportTypesC.h => gfx/vr/service/osvr/Util/ClientReportTypesC.h
rename : gfx/vr/osvr/Util/Export.h => gfx/vr/service/osvr/Util/Export.h
rename : gfx/vr/osvr/Util/ImagingReportTypesC.h => gfx/vr/service/osvr/Util/ImagingReportTypesC.h
rename : gfx/vr/osvr/Util/MatrixConventionsC.h => gfx/vr/service/osvr/Util/MatrixConventionsC.h
rename : gfx/vr/osvr/Util/PlatformConfig.h => gfx/vr/service/osvr/Util/PlatformConfig.h
rename : gfx/vr/osvr/Util/Pose3C.h => gfx/vr/service/osvr/Util/Pose3C.h
rename : gfx/vr/osvr/Util/QuaternionC.h => gfx/vr/service/osvr/Util/QuaternionC.h
rename : gfx/vr/osvr/Util/QuatlibInteropC.h => gfx/vr/service/osvr/Util/QuatlibInteropC.h
rename : gfx/vr/osvr/Util/RadialDistortionParametersC.h => gfx/vr/service/osvr/Util/RadialDistortionParametersC.h
rename : gfx/vr/osvr/Util/RenderingTypesC.h => gfx/vr/service/osvr/Util/RenderingTypesC.h
rename : gfx/vr/osvr/Util/ReturnCodesC.h => gfx/vr/service/osvr/Util/ReturnCodesC.h
rename : gfx/vr/osvr/Util/StdInt.h => gfx/vr/service/osvr/Util/StdInt.h
rename : gfx/vr/osvr/Util/TimeValueC.h => gfx/vr/service/osvr/Util/TimeValueC.h
rename : gfx/vr/osvr/Util/Vec2C.h => gfx/vr/service/osvr/Util/Vec2C.h
rename : gfx/vr/osvr/Util/Vec3C.h => gfx/vr/service/osvr/Util/Vec3C.h
extra : moz-landing-system : lando
2018-10-02 00:24:40 +00:00
Daosheng Mu 4254b0cddc Bug 1491868 - Avoid shutdown hang by checking if VRListenerThread is null. r=kip
MozReview-Commit-ID: HbWlMUQGXD8

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

--HG--
extra : moz-landing-system : lando
2018-10-01 21:36:23 +00:00
Imanol Fernandez 34b84d783f Bug 1495421 - Fix gfxVRExtenal::StartPresentation value reset on Android r=kip
WebVR broke in Firefox Reality after https://phabricator.services.mozilla.com/D3378 landed because deleting the watchdog block also deleted some value resets in the Android #ifdef

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

--HG--
extra : moz-landing-system : lando
2018-10-01 17:33:04 +00:00
Kearwood "Kip" Gilbert 6f7ee781b6 Bug 1494490 - Early exit VRManager::RunTasks when not on the VR Listener thread r=daoshengmu
During shutdown, VRManager::RunTasks may be run outside
of the VR Listener thread due to residual nsTimer events.
This results in intermittent assertions during shutdown
when the assert is hit.
We do not need to run these periodic tasks during shutdown
so we can simply early-exit here.

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

--HG--
extra : moz-landing-system : lando
2018-09-27 05:20:53 +00:00
Kearwood "Kip" Gilbert 4bbd4a30cf Bug 1473398 - Add telemetry support to gfxVRExternal and OpenVRSession r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D7014

--HG--
extra : moz-landing-system : lando
2018-09-27 21:56:20 +00:00
Kris Maglione 8451acf329 Bug 1494513: Work around VRThread shutdown bug causing frequent intermittent failures. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D7134

--HG--
extra : moz-landing-system : lando
2018-09-27 20:28:31 +00:00
Emilio Cobos Álvarez 7b4dcb8ab8 Bug 1488573 - Fix merge conflict with inbound. r=me a=ebalazs
The patch in this bug conflicted with:

  1679bd50f3
2018-09-26 15:58:11 +02:00
arthur.iakab ec46826255 Merge inbound to mozilla-central. a=merge 2018-09-26 15:54:41 +03:00
Jeff Gilbert d53fb0f64f No bug - Fix compiler warnings from clang-cl. 2018-09-25 18:29:13 -07: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
Daosheng Mu e807dc8d6a Bug 1488573 - Part 2: Checking OpenVR btn/axis count at runtime to avoid array overflow. r=kip
MozReview-Commit-ID: 5KgcuAcKCmO

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

--HG--
extra : moz-landing-system : lando
2018-09-25 22:00:30 +00:00
Daosheng Mu ab575da60d Bug 1488573 - Part 1: Add crash log for VR controllers have unmatched button/axis count. r=kip
MozReview-Commit-ID: 8F3cDiZJ7ef

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

--HG--
extra : moz-landing-system : lando
2018-09-25 21:58:35 +00:00
Daosheng Mu a1355f493d Bug 1493835 - Don't notify VR process shutdown when no GPUChild connection. r=kip
MozReview-Commit-ID: ZXs6SldKcw

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

--HG--
extra : moz-landing-system : lando
2018-09-25 21:48:55 +00:00
Henri Sivonen 434c47b3cb Bug 1489462 - Avoid writing past the logical length of a string in Oculus library loader. r=kip
* Avoid writing past an XPCOM string's length using BeginWriting().
 * Instead of having a constant for max path length, query the
   Windows API for the length it wants.
 * Avoid using AppendPrintf for mere concatenation using arguments
   that might contain non-ASCII.

MozReview-Commit-ID: 9m7xOHRTB35

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

--HG--
extra : moz-landing-system : lando
2018-09-08 17:23:25 +00:00
Imanol Fernandez 01d16686d3 Bug 1487115 - Fix navigator.Gamepads returns empty VR array after a page load when using gfxVRExternal r=qdot,kip
Differential Revision: https://phabricator.services.mozilla.com/D4570

--HG--
extra : moz-landing-system : lando
2018-08-29 19:10:55 +00:00
Gabriele Svelto 6bddc0a55e Bug 1486772 - Refactor the screen-orientation types and headers r=smaug
This patch removes the 'ScreenOrientationInternal' type from
dom/base/ScreenOrientation.h and moves it into the
HalScreenConfiguration.h header, renaming it simply to 'ScreenOrientation'
in the process. This has several knock-off effects:

- It allows files that needed ScreenOrientationInternal to include a much
  smaller header than before

- It greatly reduces the number of headers pulled in when including Hal.h

- It clarifies the role of the type. The 'Internal' part in the name had
  nothing to do with it being part of the implementation. The type was public
  and called that way only to avoid clashing with the 'ScreenOrientation'
  class. Since we moved it into a different namespace it can be renamed
  safely.

- It allows a file that was manually re-declaring 'ScreenConfigurationInternal'
  type to use the original one

- Finally this fixes a few files which were missing headers they actually
  required but that would still build because unified compilation put them into
  units that already had those headers thanks to ScreenConfiguration.h

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

--HG--
extra : moz-landing-system : lando
2018-08-29 20:54:56 +00:00
Daosheng Mu 8e0cd59f7c Bug 1485388 - Checking VRGPUChild is created before asking stop VRService. r=kip
MozReview-Commit-ID: 8NM2bcmqVAa

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

--HG--
extra : moz-landing-system : lando
2018-08-27 20:51:16 +00:00
Imanol Fernandez 2072f84821 Bug 1482613 - Make WebVR work with multiprocess enabled on Android r=kip,rbarker,kvark
MozReview-Commit-ID: G9aHbp0G7DK

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

--HG--
extra : moz-landing-system : lando
2018-08-24 15:32:12 +00:00
Cosmin Sabou 164891642a Backed out changeset 1eb34707779f (bug 1482613) for causing android crashes in test_vrDisplay_canvas2d.
--HG--
extra : amend_source : f97559dc9494fbe0120035381d8903cfc62d2830
2018-08-24 00:10:57 +03:00
Imanol Fernandez 4ee978a82d Bug 1482613 - Make WebVR work with multiprocess enabled on Android r=kip,rbarker,kvark
MozReview-Commit-ID: G9aHbp0G7DK

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

--HG--
extra : moz-landing-system : lando
2018-08-23 18:35:15 +00:00
Daosheng Mu 90d9af9138 Bug 1485095 - Fix can't get VRSystemManagerExternal in Android. r=kip
MozReview-Commit-ID: F82UoWhVVWs

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

--HG--
extra : moz-landing-system : lando
2018-08-21 22:01:00 +00:00
Kearwood Gilbert 8fc883c938 Bug 1481327 - Part 2: Handle VR process shared memory.,r=kip
--HG--
extra : rebase_source : 9cd9aee74783c0817d8825aff7e7b3cef881fdab
2018-08-20 14:59:56 -07:00
Kearwood Gilbert a642b0a38b Bug 1481327 - Part 1: Launch VR service in VR process., r=kip,r=mccr8
--HG--
extra : rebase_source : 1de178356f2c4550f01635763e80fbd05b7b0c05
2018-08-20 14:58:28 -07:00
Daosheng Mu a0fe81c1da Bug 1430038 - Part 3: Construct IPC connection for VR/GPU process; r=kip, jimm, jgilbert
Summary: MozReview-Commit-ID: 2kOyfC4TFZP

Tags: #secure-revision

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

MozReview-Commit-ID: 17O2xbRMOFJ

--HG--
extra : rebase_source : fdf55e8542dd5487868cfe36fc27f447d95528de
2018-08-06 22:47:18 -07:00
Daosheng Mu fc47ba869a Bug 1430038 - Part 2: launch VR process and communicate with GPU process; r=kip, jimm
Summary: MozReview-Commit-ID: IQZVIYVSCxe

Tags: #secure-revision

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

MozReview-Commit-ID: 4sT6fqk7MpT

--HG--
extra : rebase_source : dab038bdb214ec7e808a74ed5c76a11097c3ffcf
2018-08-07 11:20:34 -07:00
Imanol Fernandez 5424767924 Bug 1481393 - Implement a listener for WebVR PresentationGenerationContext changes; r=kip,rbarker,nika
MozReview-Commit-ID: FAR1fYnNM0U

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

--HG--
extra : moz-landing-system : lando
2018-08-07 23:09:42 +00:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Kearwood "Kip" Gilbert 7be6545dd6 Bug 1320616 - Use the render pose rather than the gameplay pose for OpenVR headsets r=daoshengmu
The WebVR api was returning a headset pose predicted one additional frame in the
future, but the SteamVR async reprojection was reprojecting it using the
prior (correct) frame's pose.

This resulted in a sickness inducing swimming effect as well as deregistration
from the Vive chaperone bounds.

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

--HG--
extra : moz-landing-system : lando
2018-08-03 22:05:06 +00:00
Imanol Fernandez 25d362ba4f Bug 1479424 - Fix VRManager NotifyVSync not called when compositor is paused on Android; r=kip,rbarker
MozReview-Commit-ID: JY8xyCSKIgv

--HG--
extra : rebase_source : 8ae0ba070bba5cc03137c4053a7730ad89090e96
2018-07-30 18:14:05 +02:00
Kearwood Gilbert 17fa5240f0 Bug 1476797 - Indicate VR session activity indepenently of layer presence r=daoshengmu
MozReview-Commit-ID: 4F0vclSj5gB

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

--HG--
extra : moz-landing-system : lando
2018-07-31 01:41:25 +00:00
Hiroyuki Ikezoe d096c8bddf Bug 1479234 - Include missing headers in D3D11YCbCrImage.cpp and VRLayerChild.cpp. r=hiro
MozReview-Commit-ID: C8VQO46Lm1

--HG--
extra : rebase_source : 5751da5530ac9771ed349b71a2c10fec28904a97
2018-07-31 08:13:19 +09:00
Imanol Fernandez c7746a52c2 Bug 1476380 - Remove the spin wait in Android gfxVRExternal PullState calls; r=kip
MozReview-Commit-ID: 7pwMhE7emwY

--HG--
extra : rebase_source : f7ce0053855e51c0b166a0a9e686e2f2e9a09e22
2018-07-24 16:27:58 +02:00
Imanol Fernandez 6672f5861e Bug 1475270 - Avoid deadlock when pausing the compositor while gfxVRExternal is waiting for a SubmitFrame result; r=kip
--HG--
extra : amend_source : d7344800392a8b22c72a9deac717feca07ea9e58
2018-07-12 17:22:20 +02: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 04e66eb0c1 Bug 1470348 - Enable gfxVRExternal for Android; r=kip
MozReview-Commit-ID: 4XMdLLoedIh

--HG--
extra : rebase_source : b71d5d73b832f1f16ae261463860b4f60b38c559
2018-07-10 17:41:58 -07:00
Jan Beich 2624692e9c Bug 1473881 - Unbreak build on Tier3 after bug 1466699. r=kip
MozReview-Commit-ID: 7G9bLplXoHB

--HG--
extra : rebase_source : 080b8495aedc1a3ed32afe6f94a9da5f5e7253c9
2018-07-06 13:38:01 +00:00
Kearwood "Kip" Gilbert d1989d114c Bug 1466699 - Implement VRService thread r=daoshengmu
- Refactored gfxVROpenVR to use gfxVRExternal interface from the
  VR Service.  Existing gfxVROpenVR left in place (for now) to
  allow VR service to be enabled or disabled by pref.
- The VR service, containing gfxVROpenVR, is to run in-process within
  its own thread first, then to be later moved to its own process.
- Fixed periodic immersive mode flicker that occured due to HMD pose and
  HMD state being separately sampled from the Shmem.  It was possible
  to advance a frame without also getting an updated pose if a dirty
  copy of the shmem was detected.
MozReview-Commit-ID: IvpJErmi5kF

--HG--
extra : rebase_source : 0e21d3414a13dc514c3035f2bd5f6adc365b465d
2018-05-08 11:31:28 -07:00
Kearwood "Kip" Gilbert 89b524f028 Bug 1469967 - Implement immersive mode for gfxVRExternal r=rbarker
- The VR External interface/shmem and gfxVRExternal are
  updated to enable entering VR, exiting VR, and submitting
  frames.
- You can now construct gfxVRExternal using a pointer to
  the VR External API shmem, if it is created elsewhere.

MozReview-Commit-ID: LZuoLvoEmKO

--HG--
extra : rebase_source : ab38ae4c34f9ac5cdd69e7222f12b1c758307057
2018-05-08 11:31:28 -07:00
Andi-Bogdan Postelnicu de9afa6930 Bug 1453795 - WebVR - Initialize member fields in classes/ structures. r=kip
--HG--
extra : rebase_source : e74859026aa9f35df953c98812591500f54efb75
extra : amend_source : c2fad0ffaa313aadbc1e8b7e01654bd28feea971
2018-06-15 18:16:15 +03:00
Randall Barker 2c2e0b614f Bug 1465816 - Add initial code needed to support gfxVRExternal on android r=kip,jchen
MozReview-Commit-ID: 9rXXqIvyvhp
2018-06-05 18:33:01 -07:00
Cosmin Sabou 2c1302b895 Backed out changeset 66a3146a7fce (bug 1465816) for frequent reftest failures on draw_rect.html. CLOSED TREE 2018-06-06 00:28:56 +03:00
Randall Barker 4b62519e23 Bug 1465816 - Add initial code needed to support gfxVRExternal on android r=kip,jchen
MozReview-Commit-ID: 9rXXqIvyvhp
2018-06-05 12:34:15 -07:00
Kearwood Gilbert 5bb50b3bf3 Bug 1463329 - Iterate over a copy of VRManagerChild::mDisplays to guard against modifications to mDisplays during the loop
--HG--
extra : rebase_source : 52f30a91d8dd8567e56aa30c9cb37a02f86dea9b
2018-05-30 14:07:13 -07:00
sotaro 623f090649 Bug 1451183 - Make EGLLibrary destroyable r=jgilbert 2018-06-04 11:09:29 +09:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Daosheng Mu 1cb8578ef7 Bug 1456664 - Fix the right Oculus Touch axes no value issue when the left one is off; r=kip
MozReview-Commit-ID: E4jxHnHjYUB

--HG--
extra : rebase_source : 04e5dedb8d953196ee56d1676b21a37cd7066d00
2018-05-25 16:17:50 -07:00
Daosheng Mu 6212744b91 Bug 1455159 - Let Oculus Touch trigger listen touch events instead of using button values; r=kip
MozReview-Commit-ID: 6P5BW3PQo7

--HG--
extra : rebase_source : 940c9804776534c31b041442115b9c7100c39ef2
2018-05-25 11:10:59 -07:00