Commit Graph

10500 Commits

Author SHA1 Message Date
Sebastian Hengst
aa78440a09 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EE6DcCgHufi
2017-10-09 11:19:20 +02: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
Nicholas Nethercote
cbc9fbb2bf Bug 1403868 (part 2) - Tweak profiler_tracing(). r=mstange.
This patch does the following.

- Makes the TracingKind argument non-optional.

- Puts the UniqueProfilerBacktrace argument last in the second variant.

- Reorders AutoProfilerTracing to match the order of the profiler_tracing()
  declarations.

--HG--
extra : rebase_source : 8e9acdaf777c642cd854570771a3f96da6d524d1
2017-10-03 19:48:10 +11:00
sotaro
5984c151ad Bug 1406707 - Change WebRenderBridgeChild::BeginTransaction() as to return void r=kats 2017-10-09 09:11:49 +09:00
Sebastian Hengst
b76b8d024f merge mozilla-central to mozilla-inbound on a CLOSED TREE. r=merge a=merge on a CLOSED TREE 2017-10-08 21:01:29 +02:00
Markus Stange
194330515b Bug 1406494 - Fix spelling of the environment variable.
MozReview-Commit-ID: KE3Wejl87hg

--HG--
extra : amend_source : 62d4d8aac85a20dab055dc86938a8a2f167d162e
2017-10-07 22:11:13 -04:00
Sebastian Hengst
3c8747ae61 merge mozilla-central to autoland. r=merge a=merge 2017-10-07 10:52:29 +02:00
Sebastian Hengst
b834f0d177 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 7Ez95T2ivfR
2017-10-07 10:37:39 +02:00
Tom Ritter
349f097743 Bug 1403698 Address delete-non-virtual-dtor warnings r=froydnj
MozReview-Commit-ID: 44XiqegImiT

--HG--
extra : rebase_source : 52ddc3caa3243aaef9e2397b4a28e318da101a8c
2017-10-06 11:27:35 -05:00
sotaro
c8f339f971 Bug 1405970 - Remove unused argument from ProcessWebRenderParentCommands() r=nical 2017-10-06 22:10:20 +09:00
Kartikaya Gupta
1be8b0ae82 Bug 1406008 - Try to better handle an edge case in APZ hit-testing with layers-free WR. r=jrmuizel
MozReview-Commit-ID: DNAHx2e6uRF

--HG--
extra : rebase_source : 7b68cf9d94beebe469e27997077da2516b712a65
2017-10-06 09:29:46 -04:00
Kartikaya Gupta
591b4cb445 Bug 1406119 - Ensure that we do all the necessary APZ prep before recursing. r=ethlin
Bug 1404782 added another codepath that allows the CreateWebRenderCommandsFromDisplayList
function to recurse. However recursion is tricky when APZ is enabled because
we need to do a bunch of setup and teardown to properly build event regions and
track APZ state. This patch moves the new recursion codepath inside the setup
and teardown, so that it works as intended.

MozReview-Commit-ID: C2Pwld7DdCC

--HG--
extra : rebase_source : d9ebc81ce81f416aa5eceeeed3ecf884e7fdb162
2017-10-05 13:20:57 -04:00
Markus Stange
089e60417f Bug 1406494 - Add a WR_RESOURCE_PATH environment variable that lets you set a resource override path for webrender. r=kats
This allows easier testing of shader changes. If you point this environment
variable at your gfx/webrender/res/ directory, the shaders will be read from
that directory when Firefox is launched, so you can test shader changes just by
restarting Firefox and don't need to recompile.

MozReview-Commit-ID: 9Dt6MhErnGS

--HG--
extra : rebase_source : 3c8cb83f28a6b6b00fb4437a7fd7f04dd5511633
2017-10-06 14:38:56 -04:00
Alexis Beingessner
c0bfb121ad Bug 1405927 - Change PushGlyphs to take webrender formats. r=jrmuizel
Also cleans up a bunch of TextDrawTarget code as fallout.

This is a significant perf win for textFrames.

MozReview-Commit-ID: J1BDkXZdvnc

--HG--
extra : rebase_source : 5a0769a53cadb55a074cfe5d718e259401fa7028
2017-10-04 13:49:51 -04:00
Kartikaya Gupta
4643bfc25a Bug 1403920 - Use RecomputeVisibility instead of ComputeVisibility to avoid triggering assertion failures. r=mattwoodrow
MozReview-Commit-ID: LPIIM516rZL

--HG--
extra : rebase_source : dd67291099d5637f0a3fc33e176a97fdc69c4c55
2017-10-05 10:45:55 -04:00
Kartikaya Gupta
ccac962efc Bug 1406047 - Schedule a composite in empty transactions that require it. r=jrmuizel
MozReview-Commit-ID: 2e3auabQvtw

--HG--
extra : rebase_source : 5acfcd250f3f73e96c66d9ef6340fe0eb78499c0
2017-10-05 11:42:41 -04:00
Sebastian Hengst
cade0f0bf3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: CsjtXJM2vcs
2017-10-05 10:55:31 +02:00
Jeff Muizelaar
28dd8408d4 Bug 1405819. Remove useless PushBuiltDisplayItems call. r=kats
This removes retained mBuiltDisplayList that isn't used for anything now that
empty transactions are saner. It also ends up moving the Finalize call out
of WebRenderBridgeChild into WebRenderLayerManager so we can retain the final
size.
2017-10-04 22:34:20 -04:00
Jeff Muizelaar
bdc459cc60 Bug 1405445. Preallocate the display list buffer to a reasonable size. r=kats
This exposes the capacity of the underlying vec and sets it to the capacity of
the previous display list (mLastDisplayListSize). Doing so helps us avoid
reallocing up to the desired size every frame.

Note: the rebased version doesn't actually use a reasonable size. That will happen
in bug 1405819.
2017-10-04 22:31:51 -04:00
Jean-Yves Avenard
7c9ee7c537 Bug 1215089 - P11. Correctly use stride parameter in place of width with webrender. r=mattwoodrow
MozReview-Commit-ID: KcI6fcOgSkX

--HG--
extra : rebase_source : 2293c2be075f7a24472a8d58752982b153c5d6f5
2017-10-05 01:42:28 +02:00
Jean-Yves Avenard
1f7ad17007 Bug 1215089 - P9: Add support for 10/12 bits YUV surface with OpenGL compositor. r=mattwoodrow
MozReview-Commit-ID: BR9G7cyopz0

--HG--
extra : rebase_source : c9a29724d5c729ae8c0ae64c36428fe426ea006c
2017-09-29 21:51:29 +02:00
Jean-Yves Avenard
3cd54027fe Bug 1215089 - P7: Add support for 10/12 bits YUV surface with basic compositor. r=mattwoodrow
MozReview-Commit-ID: Ej4MbvHnSk9

--HG--
extra : rebase_source : c88e8641ce343917b4f433b515aefe653b23eaa6
2017-09-29 16:37:56 +02:00
Jean-Yves Avenard
3828ad5fbe Bug 1215089 - P6: Remove dead code. r=mattwoodrow
The method isn't called and the comments referring to it are no longer applicable.

MozReview-Commit-ID: 2FFWhj7wzht

--HG--
extra : rebase_source : 5987c52a2a220185a61a45d18a6229aa7e5d8ea3
2017-10-04 03:26:45 +02:00
Kartikaya Gupta
5bc0302cb0 Bug 1391816 - Follow-up to rename WebRenderCommandsBuilder to WebRenderCommandBuilder. r=jrmuizel
MozReview-Commit-ID: 3M0CTIheg5s

--HG--
rename : gfx/layers/wr/WebRenderCommandsBuilder.cpp => gfx/layers/wr/WebRenderCommandBuilder.cpp
rename : gfx/layers/wr/WebRenderCommandsBuilder.h => gfx/layers/wr/WebRenderCommandBuilder.h
extra : rebase_source : 713acc860b61f9be81934f2e03491aa6acc6a98e
2017-10-04 10:45:29 -04:00
Sebastian Hengst
46807fbb50 Backed out changeset 3fc22c028eab (bug 1215089) 2017-10-04 16:26:09 +02:00
Sebastian Hengst
f0ac1d29e8 Backed out changeset 2072826699d5 (bug 1215089) 2017-10-04 16:25:51 +02:00
Sebastian Hengst
2da2f1cc48 Backed out changeset 248c73a2c3b1 (bug 1215089) 2017-10-04 16:25:46 +02:00
Sebastian Hengst
096fb9d2c6 Backed out changeset a2cfe189c828 (bug 1215089) 2017-10-04 16:25:34 +02:00
Ethan Lin
224831f7e4 Bug 1406306 - Part1. Repaint items when scale is changed. r=jrmuizel
MozReview-Commit-ID: LelAXxnxeRb

--HG--
extra : rebase_source : 5a732a6498887f5e0adac1378f799f6c40157179
2017-10-06 14:50:33 +08:00
Jean-Yves Avenard
b73921d81c Bug 1215089 - P8: Add support for 10/12 bits YUV surface with OpenGL compositor. r=mattwoodrow
MozReview-Commit-ID: BR9G7cyopz0

--HG--
extra : rebase_source : 4a54e12e04b721288f18f7466829fc69d32154ea
2017-09-29 21:51:29 +02:00
Jean-Yves Avenard
9a3a9f486e Bug 1215089 - P6: Add support for 10/12 bits YUV surface with basic compositor. r=mattwoodrow
MozReview-Commit-ID: Ej4MbvHnSk9

--HG--
extra : rebase_source : 69b342e18829816ca3cdd91a3f01252ae2a1ac94
2017-09-29 16:37:56 +02:00
Jean-Yves Avenard
6e1769b5cd Bug 1215089 - P5: Remove dead code. r=mattwoodrow
The method isn't called and the comments referring to it are no longer applicable.

MozReview-Commit-ID: 2FFWhj7wzht

--HG--
extra : rebase_source : 9bc3e9288ce0f38f03a9d33acc902f11703536da
2017-10-04 03:26:45 +02:00
Jean-Yves Avenard
72e08420b1 Bug 1215089 - P3: Add mBitDepth member to YCbCr data structure. r=kamidphish,mattwoodrow
MozReview-Commit-ID: BNLawJOfj3w

--HG--
extra : rebase_source : f538373e317e3e1e5452c0a0d6e00e810148ea87
2017-06-29 23:09:20 +02:00
Jean-Yves Avenard
89b1091f27 Bug 1215089 - P2: Add mDepth member to YCbCr data structure. r=kamidphish
MozReview-Commit-ID: BNLawJOfj3w

--HG--
extra : rebase_source : 6cd0336506a8feda874f6bd6525da73a745d5100
2017-06-29 23:09:20 +02:00
Sebastian Hengst
7e81b9743d merge mozilla-central to autoland. r=merge a=merge 2017-10-04 11:15:12 +02:00
Sebastian Hengst
5e0b457b10 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EVLGo1zCANb
2017-10-04 11:13:24 +02:00
Kartikaya Gupta
e0fd3a68fc Bug 1403915 - Collapse EndTransactionInternal into EndTransactionWithoutLayers. r=jrmuizel
MozReview-Commit-ID: 5l9LkfJTqKy

--HG--
extra : rebase_source : 50fc05afad2c23f592b9d18ae80d2402610d1cee
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
c1a6bdfaf1 Bug 1403915 - Remove some leftover Layer-related goop. r=jrmuizel
MozReview-Commit-ID: 2XCJaRcQR3s

--HG--
extra : rebase_source : 7f3f4cdf1bf77c8a8b7a62f675e5132f84eab49e
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
9493b267c7 Bug 1403915 - Remove some leftover painting callback goop. r=jrmuizel
MozReview-Commit-ID: BycK4Ug1sgm

--HG--
extra : rebase_source : 6fa5a8da45a75ec4ed1d5a7b55cf95671845bd05
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
2f1948343f Bug 1403915 - Remove the WebRender*Layer classes and functions that refer to them. r=jrmuizel
MozReview-Commit-ID: 2syFwMc7j3r

--HG--
extra : rebase_source : 9a3852506820eb09328d91007581d74786eba9b0
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
dbe077b3f1 Bug 1403915 - Remove the IsLayersFreeTransaction() machinery and assume it's always true. r=jrmuizel
MozReview-Commit-ID: 7FYVirQ5pal

--HG--
extra : rebase_source : 4b33fba54776003b4f0d45b89be07916db1f2340
2017-10-03 16:31:07 -04:00
Ethan Lin
0d6bfa48a2 Bug 1391816 - Move layers-free related functions and variables from WebRenderLayerManager to WebRenderCommandsBuilder. r=jrmuizel
We have too many layers-free things in WebRenderLayerManager. I create a new
class WebRenderCommandsBuilder and move some functions and variables from
WebRenderLayerManager to WebRenderCommandsBuilder.

MozReview-Commit-ID: BJi1E51W7ax

--HG--
extra : rebase_source : ddbfb044d467430403a3c480030ef9dec803c9f7
2017-09-25 15:48:29 +08:00
Jeff Muizelaar
5baca5e314 Bug 1404955 - Use ComplexClipRegion instead of WrComplexClipRegion. r=kats
cbindgen will let us do this now.
2017-10-03 18:11:14 -04:00
Ethan Lin
2a82b402b3 Bug 1404091 - In layers-free mode, we should do NotifyInvalidation after EndTransaction if there is any scheduled flush. r=kats
MozReview-Commit-ID: D0LNF0LgWYq

--HG--
extra : rebase_source : e005389de5d2b2b9e0a8ecf5b4de58ae7f9f21a9
2017-10-03 16:00:38 +08:00
Ethan Lin
caf728fd67 Bug 1404782 - Do not mutate display list in layers-free mode. r=mattwoodrow
MozReview-Commit-ID: 7usEJupItdi

--HG--
extra : rebase_source : 93972dc1b61231f1956b993454f4c7fa4e2d1307
2017-10-02 11:18:31 +08:00
Kartikaya Gupta
a8c7b2198d Bug 1403176 - Turn on empty transactions support in layers-free WebRenderLayerManager. r=mstange
By returning true from WebRenderLayerManager::EndEmptyTransaction, we
avoid doing a full paint in cases where the caller decides an empty
transaction would be sufficient. WebRenderLayerManager already rejects
attempts to set some forms of empty-transaction data (specifically
transform and scroll offset updates). This means that we will never get
a call to EndEmptyTransaction where the caller is expecting a transform
or scroll offset update to be sent over to the compositor. So if we have an
implementation of EndEmptyTransaction that ignores that data, it will not
break expectations.

There is still one piece of information that WebRenderLayerManager
doesn't reject in this manner, the APZ focus state. That is, if the
layout code sets a pending APZ focus state on the WRLM, followed by a
all to EndEmptyTransaction, it expects the focus state to get propagated
to the compositor. This patch makes sure that it does happen by using
the new API added in the previous patch.

MozReview-Commit-ID: 596UgW9ZWAF

--HG--
extra : rebase_source : e0f4f201a76747d6e29cde5da26fe760fd7f770b
2017-10-02 16:49:56 -04:00
Kartikaya Gupta
c2cbdf1d8e Bug 1403176 - Add support for out-of-band APZ focus state propagation. r=mstange
One of the pieces of information that can be sent to the compositor is
the APZ focus state info, which is used for keyboard APZ. This patch
adds an API that allows updating this outside of a regular WR
"transaction" (i.e. a SetDisplayList call) so that we can use it in an
empty transaction (in the next patch).

MozReview-Commit-ID: L5TCbI9FtGV

--HG--
extra : rebase_source : 427b606a333d83eb82aa566768ba331d34542e8e
2017-10-02 16:49:55 -04:00
Kartikaya Gupta
8c4d9f46ad Bug 1403176 - Make WebRenderLayerManager reject pending scroll offset updates. r=mstange
Currently some callers attempt to set a "pending scroll offset update"
on the layer tree, which basically allows it to send a scroll offset
update to the compositor in an empty transaction, without doing a full
paint. However, WebRenderLayerManager doesn't really support empty
transactions yet, so we want to reject attempts to do this for now. This
will force the callers to schedule a full transaction instead of an
empty transaction.

MozReview-Commit-ID: 1bBlj59W5HH

--HG--
extra : rebase_source : 0a018989c2681b01ff325e8e2c79c9ff146f04d4
2017-10-02 16:49:55 -04:00
Kearwood "Kip" Gilbert
6f85ed3a79 Bug 1400407 - Part 3: Remove IsMirror concept, as it is no longer used by WebVR,r=jgilbert
- This patch is the same as one from Bug 1382104 (Remove IsMirror concept
  in favor of checking forwarder).
- It is safe to uplift this patch without the rest of Bug 1382104 as long
  as the remaining Bug 1381084 is also uplifted.

MozReview-Commit-ID: 21YZObeSUa3

--HG--
extra : rebase_source : 8d543fe69f4ac9df5ccdc42d3ce47bb37eea4396
2017-08-28 14:50:14 -07: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