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

136 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd dbc53de3d9 Bug 1451363 - part 5 - remove ProtocolName virtual function; r=mccr8
ProtocolName() is only used for producing error messages and annotating
crash reports.  But examining actual crash reports that would have used
the result of ProtocolName() indicates that we can always tell what the
erroring protocol is due to the stack backtrace.  So having this virtual
function around just provides duplicate information, and it takes up too
much space in the vtable besides.  Let's get rid of it.
2018-04-23 14:13:36 -04: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
Andrew Osmond ac545b4747 Bug 1433646 - Allow ContentChild::Recv(Re)InitRendering to fail with the GPU process. r=rhunt
When ContentChild::RecvInitRendering is received, it tries to setup the
IPDL actors related to rendering. If the GPU process crashes before or
during this process, it will fail, and cause the content process to
crash as well. This is unnecessary because the UI process will either
restart the GPU process, or subsume its job into itself, and trigger
ContentChild::RecvReinitRendering. It is a similar case for failures in
ContentChild::RecvReinitRendering.

Since the GPU process crashing should be a recoverable scenario, we now
check if the remote IPDL actor is in the UI or the GPU process. If it is
in the UI process, it will fail/crash as it does today. If it is in the
GPU process, it will wait for the next
ContentChild::RecvReinitRendering.

For failures that are not IPDL related (e.g. failed to get some resource
like spawning a thread), we release assert specifically for those
failures. They are not recoverable.
2018-02-14 18:07:53 -05:00
Kearwood "Kip" Gilbert b91be1697a Bug 1402147 - Part 1: Fire VRDisplayConnect event for VR displays that are already enumerated when a page is loaded r=daoshengmu
MozReview-Commit-ID: 7zQOSYJ6tkg

--HG--
extra : rebase_source : e2535cb282475795a6107a002cce629049258b38
2018-01-04 14:27:03 -08:00
Andrew McCreight ab7fa64021 Bug 1410209, part 4 - Add names to some IPC runnables. r=kanru
This patch requires that each instance of IPC's RunnableFunction is
passed in a name, like the non-IPC RunnableFunction.

MozReview-Commit-ID: Atu1W3Rl66S

--HG--
extra : rebase_source : f932d7597a26a3f0c4246b3a95df638860d3d32d
2017-10-27 13:39:28 -07:00
Jeff Gilbert 96cde974a6 Bug 1426329 - Reduce includes of GLContext.h in headers. - r=lenzak
MozReview-Commit-ID: LPrK3ghNI5f
2017-12-20 11:45:32 -08:00
Narcis Beleuzu 1f7fdd5826 Merge mozilla-central to inbound. r=merge a=merge on a CLOSED TREE 2017-12-06 01:49:19 +02:00
Kearwood Gilbert 1bed477cca Bug 1407423 - Part 3: Update Puppet Device Implementation,r=daoshengmu
- Update prefs to accomodate tests, disabling
  enumeration throttling
- Updated Puppet display and controller implementation
  to act more like the actual devices.
- Updated tests to ensure that they explicitly
  create a VR mock display and don't create duplicate
  mock displays.

MozReview-Commit-ID: 6RPVqekG2je

--HG--
extra : rebase_source : 9cc9ea116114cc191edbf5a01ac8f84fff9709c4
2017-11-21 14:18:16 -08:00
Daosheng Mu 4b8304ef73 Bug 1358247 - Reply VR vibrate promises to the individual channels; r=kip
MozReview-Commit-ID: 4NwYNkwKUMR

--HG--
extra : rebase_source : 9e9d8ddcb0f91a3745e6ed5e614bb696b6d950af
2017-11-30 19:37:07 +08:00
Daosheng Mu 670a3feebf Bug 1420167 - Clean the current test system when creating a new VR test system; r=kip
MozReview-Commit-ID: KrXOjHcnszE

--HG--
extra : rebase_source : e51207efd574babd17b2089b7e86c7586a54cb93
2017-11-29 11:27:30 +08:00
Daosheng Mu f1d6f336e7 Bug 1392217 - Part 2: Spawn a VR submit thread in VRDisplayHost; r=kip
MozReview-Commit-ID: 5xvTepEFxe0

--HG--
extra : rebase_source : 06abace030391e0840de11ad6e645fe820f94420
2017-11-17 16:06:59 +08:00
Daosheng Mu 395b4fcfac Bug 1418879 - Refine dom/vr and gfx/vr to fit with static-analysis; r=kip
MozReview-Commit-ID: K1r5NgQuuPK

--HG--
extra : rebase_source : 23a7d8d1ed9d1f6caa6a160afd969d21a69b5d6e
2017-11-20 12:00:31 +08:00
Nika Layzell ff8b5bd178 Bug 1414974 - Part 3: Move Get{Inner,Outer}WindowWithId onto the specific subclasses, r=smaug
These were originally exposed directly as static methods on nsGlobalWindow, but
as they are clearly associated with either the inner or outer window, it makes
more sense for them to be called as such.

MozReview-Commit-ID: LFq8EfnhDlo
2017-11-09 10:44:47 -05:00
Nika Layzell 3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Randall Barker b2e368e0ca Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-07 10:50:14 -08:00
Sebastian Hengst f2944960ec Backed out 3 changesets (bug 1413362) for causing merge conflicts. r=merge a=merge
Backed out changeset 8b15dfaeecaa (bug 1413362)
Backed out changeset 2d9da0d19d04 (bug 1413362)
Backed out changeset 653c66220a5f (bug 1413362)

--HG--
extra : amend_source : e5c12297b0bb6ebe27a2481e4aac6c0ca8160a1b
2017-11-07 12:41:11 +02:00
Randall Barker b1f0bd8a25 Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-06 17:43:28 -08:00
Phil Ringnalda e0e1cf4354 Backed out 4 changesets (bug 1406327) for crashing other tests, crashing itself, and assertion failures
Backed out changeset 471c710b19b1 (bug 1406327)
Backed out changeset 5890bb3a0d97 (bug 1406327)
Backed out changeset 63c8ee57e38c (bug 1406327)
Backed out changeset 345972733daa (bug 1406327)

MozReview-Commit-ID: IwWx11QSuS4
2017-11-01 21:44:12 -07:00
Daosheng Mu f10ab3c49f Bug 1406327 - Part 4: RefreshVRDisplays needs to be at VRListenerThread; r=kip
MozReview-Commit-ID: KuhPFqMhTDB

--HG--
extra : rebase_source : 53dac47c5ede72acbe2760f056ca88f8cbc0c6b9
2017-11-01 22:15:06 +08:00
Daosheng Mu 292c24950b Bug 1406327 - Part 2: When loading VR content, launching the VR listener thread; r=kip
MozReview-Commit-ID: IyBzJyDEVdv

--HG--
extra : rebase_source : d626c4b0ce7c5ca2a1bda6cb6b8d0d42a4d09e1d
2017-10-26 17:28:37 +08:00
Kearwood "Kip" Gilbert efffd1d8b9 Bug 1413357 - Remove VRManagerChild::RecvParentAsyncMessages r=daoshengmu
- This IPC is no longer used and can be removed to simplify
  the PVRManager protocol.
MozReview-Commit-ID: Kno5CHkI17K

--HG--
extra : rebase_source : 227e36b00bc2d6a3b83b48d80fbfdfe35196057d
2017-10-31 15:53:50 -07:00
Attila Craciun cbf1069efe Backed out changeset aa67335856eb (bug 1406327) for failing dom/vr/test/mochitest/test_vrController_displayId.html r=backout on a CLOSED TREE. 2017-11-01 11:15:01 +02:00
Daosheng Mu 6cded82cb0 Bug 1406327 - Part 2: When loading VR content, launching the VR listener thread; r=kip
MozReview-Commit-ID: IyBzJyDEVdv

--HG--
extra : rebase_source : c4d11a77045d8baef94002e4f42e8cea5148e900
2017-10-26 17:28:37 +08:00
Phil Ringnalda 1e756a27c8 Backed out 3 changesets (bug 1406327) for bustage in tests that run after the VM tests
Backed out changeset 1784a194ced8 (bug 1406327)
Backed out changeset 44cb5451bbde (bug 1406327)
Backed out changeset e1e57d418c14 (bug 1406327)

MozReview-Commit-ID: HUN1rEqAIWf
2017-10-31 22:33:41 -07:00
Daosheng Mu 03cf16992f Bug 1406327 - Part 2: When loading VR content, launching the VR listener thread; r=kip
MozReview-Commit-ID: IyBzJyDEVdv

--HG--
extra : rebase_source : c4d11a77045d8baef94002e4f42e8cea5148e900
2017-10-26 17:28:37 +08:00
Margareta Eliza Balazs a63fdbeabb Merge inbound to mozilla-central r=merge a=merge 2017-10-31 12:46:19 +02:00
Chris Peterson 1df202b177 Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj
And remove unreachable code after MOZ_CRASH().

MozReview-Commit-ID: 6ShBtPRKYlF

--HG--
extra : rebase_source : 0fe45a59411bda663828336e2686707b550144ae
extra : source : 8473fd7333d2abe1ea1cc176510c292a5b34df45
2017-10-24 23:30:31 -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
Coroiu Cristina 9ca76dcb7a Backed out changeset b7a07167905c::2932c914e223 (bug 1406327) for failing in dom/vr/test/mochitest/test_vrController_displayId.html r=backout a=backout on a CLOSED TREE
Backed out changeset 2932c914e223 (bug 1406327)
Backed out changeset cfbc6262a064 (bug 1406327)
Backed out changeset b7a07167905c (bug 1406327)
2017-10-30 14:51:52 +02: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
Daosheng Mu 10a11e397e Bug 1406327 - Part 2: When loading VR content, launching the VR listener thread; r=kip
MozReview-Commit-ID: IyBzJyDEVdv

--HG--
extra : rebase_source : 415b474b94e3b71ac7cc111d4f59a820ebc8cae0
2017-10-26 17:28:37 +08:00
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