Commit Graph

105 Commits

Author SHA1 Message Date
Daosheng Mu
9210bba13b Bug 1392216 - Part 3: VRPuppet dispatch submit frame result to VRListener thread; r=kip
MozReview-Commit-ID: K5ivNAkB89I

--HG--
extra : rebase_source : d4a87c12f5268a7aebe68e81c58c753eb60bfbc8
2017-10-06 17:56:53 +08:00
Daosheng Mu
48b5ded13e Bug 1392216 - Part 2: Support VR listener thread in VR; r=kip
MozReview-Commit-ID: 62PZ5opXoZ6

--HG--
extra : rebase_source : 81bac1b7228a35baa571f381e863e31608ba350f
2017-10-05 18:16:16 +08:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Kearwood "Kip" Gilbert
07bf2f8968 Bug 1400407 - Part 1: Cleanup WebVR dead code,r=daoshengmu,r=jgilbert
- VRManagerChild no longer needs to be a TextureForwarder
- VRManagerParent no longer descends from HostIPCAllocator or ShmemAllocator
- PVRManager no longer manages PTexture's
- VRLayerParent::mSize was not used and has been removed

MozReview-Commit-ID: 3bNN5FR5j7M

--HG--
extra : rebase_source : 634277825c00057bca6f8c77cdc942de61d61e9c
2017-09-14 17:10:15 -07:00
Kearwood "Kip" Gilbert
c5a2279e20 Bug 1400457 - Isolate VR Rendering from Compositor r=daoshengmu,jgilbert
- WebVR is no longer dependent on PTexture, TextureParent,
  TextureHost, and TextureChild.  It continues to use TextureClient
  for pooling and coordinating locks with other Gecko code.
- PreserveDrawingBuffer now behaving correctly for 2d display mirroring
- Preparation for separating to VR process
MozReview-Commit-ID: 2RGOulCInSu

--HG--
extra : rebase_source : 3542b804c3def36fa74541be32d0e7cbc9698641
2017-07-21 17:30:34 -07:00
dmu@mozilla.com
e2a5d6b175 Bug 1402749 - Part 2: Only allow updating VR controller amount at Vsync time; r=kip
MozReview-Commit-ID: EwXpyGnTYTD

--HG--
extra : rebase_source : b969991e31dcb612e81dd47129168a535427ce0a
2017-09-29 06:53:27 +00:00
Kearwood "Kip" Gilbert
4eef388a2c Bug 1394600 - Allow VRDisplay.requestPresent update the VR layers after presentation has already begun r=daoshengmu
- A user gesture is required only for the VRDisplay.requestPresent
  call that initiates the VR presentation, as per the WebVR 1.1 spec.
- The parameters of the VRLayer can now be updated by calling
  VRDisplay.requestPresent on an active VR presentation.
- Dynamic resolution switching is now functional:
  https://webvr.info/samples/08-dynamic-resolution.html

iMozReview-Commit-ID: BL7aJfF6nqR
MozReview-Commit-ID: CmhbFJ4ij5q

--HG--
extra : rebase_source : 28a3f608b4f821631e81ccdfe7f7824f9508a7b4
2017-08-28 16:20:59 -07:00
Andrew Osmond
2b3ebd2479 Backed out changeset 727f0d09e299 (bug 1399453) because the annotations are no longer needed. 2017-09-15 15:11:29 -04:00
Andrew Osmond
85db0466a2 Bug 1399453 - Temporarily annotate crash reports with compositor thread owners. r=dvander
From the crashes associated with bug 1389021, we know that some
compositor thread IPDL owners are not being cleaned up properly. We do
not know which protocols are causing the problem, so we temporarily will
annotate the logs with the ownership status. This should be limited to
under a dozen instances of the protocols.

This change will be backed out after a few builds are produced with it
and we see the first crash reports with the relevant data.
2017-09-13 11:16:05 -04:00
Kearwood "Kip" Gilbert
bcd45085c6 Bug 1394561 - Ensure WebVR content can catch up when IPC messages are delayed r=daoshengmu,kanru
MozReview-Commit-ID: F4NKtyaNwEo

--HG--
extra : rebase_source : fb7b2fc51de6b9cf94e6d6bb1837464ec7ea528b
2017-08-31 16:29:14 -07:00
Daosheng Mu
8a895d7e7f Bug 1352520 - Add GeckoProfiler markers for WebVR; r=kip
MozReview-Commit-ID: 6j22J0rSw1Y

--HG--
extra : rebase_source : 44f3d0052ab0b608f3b5cea5b977f7a2bba428b6
2017-09-06 16:08:21 +08:00
Milan Sreckovic
e3cd0a3157 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .cpp files in gfx/*. r=milan
MozReview-Commit-ID: 1jESowJKdyp

--HG--
extra : rebase_source : 3839cdea46729a9af05c777215cffcb9f42a2018
2017-08-14 08:29:28 -04:00
JerryShih
061742e951 Bug 1357299 - P11: Update layers, dxva and vr module to use SyncObjectChild. v3. r=mattwoodrow,dvander
MozReview-Commit-ID: 4HTPz0YcYHq
2017-08-07 18:15:24 +08:00
Daosheng Mu
3980ed0fd6 Bug 1375816 - Part 4: VRController displayId attribute testcase; r=kip
MozReview-Commit-ID: KkMXsTDRnQO

--HG--
extra : rebase_source : 1bb85ecddfea7695ec310d19a1f4f1f05543a4d6
2017-07-14 17:08:15 +08:00
Sebastian Hengst
b5972de663 Backed out changeset 498baf1613db (bug 1375816) 2017-07-18 11:48:22 +02:00
Daosheng Mu
f2d37e1ed5 Bug 1375816 - Part 4: VRController displayId attribute testcase; r=kip
MozReview-Commit-ID: KkMXsTDRnQO

--HG--
extra : rebase_source : d4a91a5e8a33de2f65c4c6ce23dab6ccdab13952
2017-07-14 17:08:15 +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
8277d4012f Bug 1375816 - Part 4: VRController displayId attribute testcase; r=kip
MozReview-Commit-ID: KkMXsTDRnQO

--HG--
extra : rebase_source : bec4dbe0bc8a791f39cd80444aa5f41da38bbc14
2017-07-14 17:08:15 +08:00
Kearwood "Kip" Gilbert
2a221a0a19 Bug 1321275 - Fix reference counting of PVRLayerChild when GPU process has been terminated r=daoshengmu
- In VRManagerChild::DeallocPVRLayerChild, we delete the PVRLayerChild, rather
  than doing proper reference counting on the VRLayerChild object which has
  been deallocated but still referenced by VRDisplayPresentation::mLayers.
  This happens when the GPU process is terminated.

- When the user tries to stop the VR presentation or change the URL,
  PVRLayerChild::SendDestroy is called by VRDisplayPresentation::DestroyLayers.
  This results in the assertion about "invalid actor state".

- This patch fixes this by following the same pattern used by TextureClient
  for its PTextureChild.

MozReview-Commit-ID: 327cdb4s7kl

--HG--
extra : rebase_source : 88847acd39d82f258f0c969e6ef5e22b794f6428
2017-07-12 16:05:40 -07: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
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Daosheng Mu
355cf89806 Bug 1371228 - Handling SteamVR process quit events to avoid crashes; r=kip
MozReview-Commit-ID: DBkzz06pRSu

--HG--
extra : rebase_source : 95831f0c3454bf758fa537900dbddbf4024e13dd
2017-06-22 14:32:18 +08: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
f8427acdf3 Bug 1364856 - When VRLayerChild receives __delete__, stop sending IPC messages; r=kip
MozReview-Commit-ID: 2vKdzipaga0

--HG--
extra : rebase_source : 56d586b5a82a68aa99ff53dba309cc4a9ea476ed
2017-05-15 18:55:42 +08:00
Kevin Chen
aa4fe616d0 Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 2ae5e2aa2e54cb2c368310ebdb1fdcbcae3092f4
2017-03-21 03:57:56 +00:00
Daosheng Mu
6a807270be Bug 1321275 - Confirm VRLayerChild is not destroyed before sending destroy message to the parent side; r=kip
MozReview-Commit-ID: v0awwplOQv

--HG--
extra : rebase_source : 3a15b5249ea03e0d64a6229d55d6d418d9b8076f
2017-05-03 18:43:39 +08:00
Sebastian Hengst
0d8a182804 Backed out changeset 25f2e9e2068d (bug 1343754) for crashing e.g. in dom/workers/test/serviceworkers/test_fetch_integrity.html. r=backout 2017-05-03 12:59:36 +02:00
Kevin Chen
bdb02a828a Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 5ac2edced51462fd013f0efba0e434d6a2fc7863
2017-03-21 03:57:56 +00:00
sotaro
e39bdc681a Bug 1356944 - Fix external image id allocation of WebRenderTextureHost r=nical 2017-04-20 10:24:13 +09:00
Ben Tian
cda6ed446d Bug 1350459 - Remove the [Throws] annotation from Window.navigator, r=qdot
MozReview-Commit-ID: 8vjyVrfa3xT

--HG--
extra : rebase_source : d63942141b562e0e69611f3cbc1da4e9ee522efc
2017-04-14 10:40:03 +08:00
Kevin Chen
c68305b9bb Bug 1343758 - Label the tasks in vr module. r=bevistseng,kip
--HG--
extra : rebase_source : a50035db7bd85c36ae5af6f528f5d26762db7701
2017-03-23 06:19:11 +00:00
Daosheng Mu
62781e3b7d Bug 1299937 - Part 6: Handle Stop vibrating when the window defoucses; r=qdot
MozReview-Commit-ID: Kvd40jnSPvK

--HG--
extra : rebase_source : f9ce4c68fd07376b8e18cbab08718c49d6fed455
2017-03-07 10:17:57 +08:00
Daosheng Mu
c1d89a986e Bug 1299937 - Part 4: Handling vibrate haptic promise in VRManager; r=qdot
MozReview-Commit-ID: 3KZ8MNx3Dnq

--HG--
extra : rebase_source : 1b11f7948da7477e31f7448878a6d5874ba69087
2017-02-02 14:59:44 +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
b38d859652 Bug 1346926 - Make PVRManager::SetHaveEventListener async r=kanru
- There appears to be no issues with simply changing
  SetHaveEventListener from sync to async.

MozReview-Commit-ID: 3LKgDx9AZnm

--HG--
extra : rebase_source : 6c706f592f71a8c967a58f6906861fcff2525ebf
2017-03-21 13:21:17 -07:00
Kearwood Gilbert
4e410934af Bug 1346923 - Remove PVRManager::GetDisplays sync IPC r=daoshengmu,kanru
- PVRManager::GetDisplays was a sync IPC that was part of an optimization
  for a use case that has been eliminated by changes to the WebVR spec.
- This was an optimization for Navigator.activeVRDisplays that would allow
  enumeration of displays active in any content process without powering
  on any additional VR hardware.  This will no longer be necessary as the
  activeVRDisplays has been restricted to returning only the displays
  active in the current javascript context.

MozReview-Commit-ID: F6sOtM9nups

--HG--
extra : rebase_source : bd8967fab9677206d998eea922c8d1640551de1c
2017-03-15 16:40:57 -07:00
Daosheng Mu
66f6566530 Bug 1306493 - Part 5: Make we only have one VRMockDisplay in tests; r=kip
MozReview-Commit-ID: ACIszhHGUiQ

--HG--
extra : rebase_source : 66addde807ff29315c903506439eed39b900b52e
2017-03-15 13:50:34 +08:00
Daosheng Mu
f09c777451 Bug 1306493 - Part 1: Fix bug of getting frame data from VRPuppet; r=kip
MozReview-Commit-ID: L8gPVjxELtV

--HG--
extra : rebase_source : 1790c8970e5401c1e0c4431c947f9bdad2fa2c34
2017-03-13 13:07:48 +08:00
Daosheng Mu
14584d2aa7 Bug 1346680 - Duplicate refcount on VRLayerParent/Child when the construction; r=kip
MozReview-Commit-ID: BpEmUkgmPA3

--HG--
extra : rebase_source : 2f235d5dbbb8204de3c9baaee27b3fccccc7896d
2017-03-14 12:40:19 +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
Ehsan Akhgari
dcb0bf572d Bug 1345497 - Remove the unused PVRManager::GetControllers sync IPC; r=kip,billm 2017-03-09 23:26:47 -05:00
Daosheng Mu
73147a8a4c Bug 1323328 - Part 4: Delay create VRSystemManagerPuppet for making it only be run for tests; r=kip
MozReview-Commit-ID: 6RxFheaP1sg

--HG--
extra : rebase_source : 6ceccf9068b8d38e94890f5543c512d5b40639bf
2017-03-04 01:27:22 +08:00
Daosheng Mu
cfca85c8aa Bug 1323328 - Part 2: Implement VRServiceTest backend at VRManager; r=kip
MozReview-Commit-ID: EpW7BqeICLo

--HG--
extra : rebase_source : 6274d1ed704b6dae7b06a71e357b189c97cfbde3
2017-03-01 23:58:31 +08:00
Kearwood Gilbert
9d394c09bb Bug 1335606 - Add 'display' value to Navigator.vrdisplayconnect, Navigator.vrdisplaydisconnect, and Navigator.vrdisplaypresentchange events r=smaug
MozReview-Commit-ID: FLZ7u98mqqi

--HG--
extra : rebase_source : dd783f3c085efc50c4114ea45ac3f695670079fd
2017-02-14 11:21:09 -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
JerryShih
a02136ffc6 Bug 1336362 - Remove PCompositable, PLayer and PImageContainer related def. r=dvander
MozReview-Commit-ID: IzxHU1SRh2t
2017-02-03 01:06:00 -05:00