Commit graph

324 commits

Author SHA1 Message Date
Ryan Hunt
b2e21ec958 Bug 1482956 - Standardize method names and add comments to PaintThread. r=nical
These method names and ordering have gotten out of sync because of
the recent churn.

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

--HG--
extra : rebase_source : 42bceaeb66a0df4808981b8c9cb0ed70b23f5a30
extra : histedit_source : 228024efe8de4e149f7e7ca66a2bb078bba820ce
2018-08-13 12:58:25 -05:00
Nicolas Silva
448ed62883 Bug 1482109 - Use the generic memory pressure observer in ClientLayerManager. r=sotaro 2018-08-10 17:15:08 +02:00
Andi-Bogdan Postelnicu
b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Kartikaya Gupta
3faf3e38d9 Bug 1478016 - Add a strongly-typed LayersObserverEpoch type. r=mattwoodrow
MozReview-Commit-ID: 6fELexXRYeV

--HG--
extra : rebase_source : 0eb028ee9b98199d18421f7ff28433189940fdca
2018-07-30 09:24:50 -04:00
Brian Hackett
99d34528e4 Bug 1465466 Part 1 - Use a separate compositor in recording/replaying processes, r=nical.
--HG--
extra : rebase_source : 003f6557370f2e4e6959ea14e833f7e2e617c5b0
2018-07-23 21:46:47 +00:00
Doug Thayer
cd54f8c184 Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 4f05832f51dae6db98773dcad03cb008a80eca6c
2018-05-05 15:46:26 -07:00
Cosmin Sabou
fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Doug Thayer
ac1648320e Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 67f6fee8b89933561a48e6f7f531b6969893a574
2018-05-05 15:46:26 -07:00
Margareta Eliza Balazs
b1e7992b82 Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE
Backed out changeset 1099d6f15f9f (bug 1265824)
Backed out changeset b5ba15b1a70f (bug 1265824)
Backed out changeset 51795de4adaf (bug 1265824)
Backed out changeset be68741ff4ce (bug 1265824)
Backed out changeset 4731dc56702d (bug 1265824)
Backed out changeset 984133e9614b (bug 1265824)
Backed out changeset efce316a4425 (bug 1265824)
Backed out changeset 367abce30668 (bug 1265824)
2018-07-19 09:33:28 +03:00
Doug Thayer
eeeab69c1c Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 3624ad04aa01dac1cd38efb47764dc3a8fbd5fbd
2018-05-05 15:46:26 -07:00
Ryan Hunt
73970a1f68 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro, data-review=francois
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : 29ebd6a85dd49ee263d50e3674eec4957ac5f12a
extra : histedit_source : 1aa9f4f31b5bff6736e0c0e576a5611880d0ab33
2018-06-26 13:40:10 -05:00
Narcis Beleuzu
04b4925170 Backed out 3 changesets (bug 1470528) for build bustages on WebRenderBridgeParent. CLOSED TREE
Backed out changeset 90513daef576 (bug 1470528)
Backed out changeset e438548991db (bug 1470528)
Backed out changeset f859daf8d8d9 (bug 1470528)
2018-07-04 00:41:14 +03:00
Ryan Hunt
d34e6c84a0 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : cecb7149f50b2abe7a827dc20f1e8b8ade199258
extra : histedit_source : 581f8f38fc8335575d7275b903a8e1d6a9e5a369
2018-06-26 13:40:10 -05:00
Ryan Hunt
27b4840273 Bug 1466146 - Add FlushRasterization as a metric for CONTENT_PAINT_PHASE_WEIGHT. r=mattwoodrow, data-review=francois
--HG--
extra : rebase_source : dcbf77adc7891b5f9ca49627370ce71f64ab3b87
2018-06-05 12:30:42 -05:00
Markus Stange
7cdcd735ca Bug 1464909 - Add GRAPHICS category annotations to async-paint-related methods. r=rhunt
MozReview-Commit-ID: HM2Gp85pCJa

--HG--
extra : rebase_source : 13d91a58f66b26cd869b438acfde517228d91491
2018-05-31 14:07:57 -04:00
Noemi Erli
7bfa96a42b Backed out 4 changesets (bug 1464909) for failures in devtools/client/performance/test/unit/test_tree-model-08.js r=mstange on a CLOSED TREE
Backed out changeset 119c2055e002 (bug 1464909)
Backed out changeset 562aeeced55b (bug 1464909)
Backed out changeset c1e1d74ad27e (bug 1464909)
Backed out changeset 11670c51f572 (bug 1464909)
2018-06-01 01:23:49 +03:00
Markus Stange
c721a2c6da Bug 1464909 - Add GRAPHICS category annotations to async-paint-related methods. r=rhunt
MozReview-Commit-ID: HM2Gp85pCJa

--HG--
extra : rebase_source : a90a78869b5002cd5f726dea8b0f3b4cacdc80a6
2018-05-31 14:07:57 -04:00
Ryan Hunt
8a29e10e3e Bug 1462411 - Move FlushAsyncPaints to ClientLayerManager::EndTransactionInternal. r=mattwoodrow
This commit moves FlushAsyncPaints to EndTransactionInternal, which allows
us to continue async painting during DLB and FLB. We still flush async paints
before rasterizing into layers as we aren't triple buffered.

--HG--
extra : amend_source : 6ee4f511008c60fe1f52f7a260ef7d5b5e3c0c92
2018-05-16 15:42:46 -05:00
Kartikaya Gupta
697a7719d0 Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow
MozReview-Commit-ID: 9yZknygQvFr

--HG--
extra : rebase_source : 8b7a2398bdabf52f2de1c5dbd30b6868c1e0bed0
2018-04-20 15:13:06 -04:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Kartikaya Gupta
50f41ff36b Bug 1435248 - Fix function naming. r=nical
It looks like the call chain is called ScheduleComposite on the client
LayerManager API, but then for some reason the functions in the IPDL
bridges are called ForceComposite, and then they eventually call the
ScheduleComposition function on the CompositorVsyncScheduler. This is
silly, so I renamed the IPDL bridge functions to ScheduleComposite as
well to be consistent.

MozReview-Commit-ID: D7bWpASaEtb

--HG--
extra : rebase_source : ecb0494d9461bd4ada48bfb602e7b518f0601c1b
2018-02-02 08:57:35 -05:00
Andrew Osmond
f9a6aed383 Bug 1432472 - Do not assume CompositorBridgeChild is available for FlushAsyncPaints. r=rhunt
CompositorBridgeChild may be lost at any time due to a GPU process
crash. Additionally it may be already destroyed due to shutdown being
initiated. For FlushAsyncPaints, we can safely ignore the missing child
because the subsequent operations will generally fail and we will
recover when the GPU process is respawned (or switched to the UI
process).
2018-01-24 10:01:33 -05:00
Ryan Hunt
fff3bf05d6 Create a PaintWorker thread pool and dispatch tiles to it (bug 1425056, r=bas)
This commit adds a paint worker thread pool to PaintThread, and dispatches
tiled paints to it. The thread pool is only created if tiling is enabled,
and its size is set by 'layers.omtp.paint-workers' and defaults to 1. If
-1 is specified, it will be sized to 'max((cpu_cores * 3) / 4, 1)'.

The one tricky part of dispatching tiled paints to a thread pool is the
AsyncEndLayerTransaction message that must execute once all paints are
finished. Previously, this runnable would be queued after all the paints
had been queued, ensuring it would be run after they had all completed.

With a thread pool, there is no guarantee. Instead this commit, uses
a flag on CompositorBridgeChild to signify whether all of the paints
have been queued ('mOutstandingAsyncEndLayerTransaction'), and after
every tiled paint it is examined to see if that paint was the last
paint, and if it is to run AsyncEndLayerTransaction. In addition,
if the async paints complete before we even mark the end of the
layer transaction, we queue it like normal.

The profiler markers are also complicated by using a thread pool.
I don't know of a great way to keep them working as they are per
thread, so for now I've removed them. I may have been the only
one using them anyway.

MozReview-Commit-ID: 5LIJ9GWSfCn

--HG--
extra : rebase_source : 0c26806f337a1b4b1511945f9c72e787b426c5ba
2017-12-08 01:18:05 -06:00
Ryan Hunt
51163a3c52 Wait for a previous empty transaction to complete before doing another empty transaction (bug 1427089, r=dvander)
--HG--
extra : rebase_source : 26276bc5c2073c86f3c57296ed7b1b5126dc4c18
2018-01-03 16:56:25 -06:00
Milan Sreckovic
099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
Kevin Chen
49b2130100 Bug 1415469 - Remove mDeviceResetSequenceNumber from TDR process since we don't need it anymore; r=dvander
MozReview-Commit-ID: 3uQQwW8QOJA

--HG--
extra : rebase_source : ab6090ad51a2a4714f1739a30d854d624d187239
2017-11-08 15:26:43 +08:00
Ryan Hunt
3a2498f61a Flush any buffer operations that may be running after EndEmptyTransaction before EndTransaction (bug 1416308, r=dvander)
MozReview-Commit-ID: CpdtwW2JNip

--HG--
extra : rebase_source : 20e46df173896d5d4fef7f0a9c0989096cd14daa
2017-11-10 13:12:15 -05:00
Ryan Hunt
27d35624ce Track when we start and finish painting a layer transaction. (bug 1412951, r=dvander)
This commit adds instrumentation and some asserting to track a "paint group",
which is essentially the first PaintThread::AsyncPaintContents until
PaintThread::AsyncEndLayerTransaction.

I didn't add an AsyncBeginLayerTransaction and use that to start a "paint group"
as I think it makes sense to not have a paint marker if we don't do
any painting.

MozReview-Commit-ID: AlSsUUF5ZOH

--HG--
extra : rebase_source : 84d9feaf5aac39fb9ce32984efda704fa2a68838
2017-10-30 14:49:58 -04:00
Ryan Hunt
71996a3966 Be sure to call EndLayerTransaction if there are queued paints. (bug 1412951, r=dvander)
I believe this is the only case where we miss calling EndLayerTransaction,
but still had queued async paints. This wasn't an issue before, because
the following transaction would then do the synchronization. But I'd
like to use EndLayerTransaction for a profiler mark, so we should call
it unconditionally.

MozReview-Commit-ID: 9rUXBzCZaLO

--HG--
extra : rebase_source : ba360f2451190cf38745121d4dc32f4ed8d1bfe2
2017-10-30 13:44:59 -04: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
David Anderson
2b8bc13b5c Remove the ability for LayerManagers to disable complex component alpha cases. (bug 1402737 part 1, r=mattwoodrow)
--HG--
extra : rebase_source : be0a1fb30936acb12d74953b4e599b107b0a0db2
2017-10-10 17:39:41 -07: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
Ryan Hunt
f695471892 Bug 1390755 - Rename PaintThread and CompositorBridgeChild methods to be more unified. r=mchang
MozReview-Commit-ID: FpwIqEmmvbg

--HG--
extra : rebase_source : 6577c8591748b65752bde1ff30e2f183a52cd3ec
extra : histedit_source : 0d08ed24d071a85159be34e7194ed6dc3cdda65f
2017-08-16 16:02:13 -05:00
Ryan Hunt
c909502278 Bug 1390755 - Notify the paint thread that a layer transaction is completed so it can unblock the main thread. r=mchang
MozReview-Commit-ID: 7kQHWUwek7v

--HG--
extra : rebase_source : a1837e2f3425b241b578a8903f60e43c2606cdaf
2017-08-16 01:04:41 -05:00
Wes Kocher
7a772df5bf Merge m-c to inbound, a=merge
MozReview-Commit-ID: BYZASFIrXxp
2017-08-14 17:58:17 -07: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
Mason Chang
a7da7e14fb Bug 1387639 Sync Textures once all async OMTP paints are done. r=mattwoodrow 2017-08-10 21:41:31 -07: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
Nicolas Silva
0628887ea0 Bug 1378113 - Avoid LayerManager reentrency issues when propagating composite notifications. r=dvander 2017-07-19 10:18:25 +02:00
Kevin Chen
91dc0db35c Bug 1364563 - Add a path for content process only device reset. r=dvander 2017-07-18 23:09:00 -04:00
Kartikaya Gupta
6d0c0db395 Bug 1378966 - Don't cause immediate throttling of the refresh driver on repeat transactions. r=mattwoodrow
MozReview-Commit-ID: 8orAmdpIRTF

--HG--
extra : rebase_source : 2988a9faced2648cd182ebe8adff791634af519f
2017-07-12 09:10:25 -04:00
David Anderson
f914e078f9 Implement asynchronous OMTP behind a pref. (bug 1377060 part 2, r=mchang)
--HG--
extra : rebase_source : b9c49b6c0e80e2bc94a94dee2ddaae4ad985f9ec
2017-07-05 15:19:52 -07:00
Wes Kocher
f8eb8f400a Backed out 2 changesets (bug 1377060) for build bustage a=backout
Backed out changeset c8f818803df7 (bug 1377060)
Backed out changeset bf11ec80b0fb (bug 1377060)

MozReview-Commit-ID: Hp1PtpWYOWV
2017-07-03 11:44:58 -07:00
David Anderson
c307f7ba43 Implement asynchronous OMTP behind a pref. (bug 1377060 part 2, r=mchang) 2017-07-03 11:20:40 -07:00
Ryan Hunt
a6a2b4f7c4 Bug 1351783 part 10 - Create and sync the current FocusTarget on each layer transaction. r=kats,botond
This commit modifies PresShell and nsDisplayList to send a FocusTarget update on
every layer transaction. Ideally we would like to send updates as often as possible,
but this seems like it works well. This can be iterated on later, if necessary.

MozReview-Commit-ID: 8PFqIOhzH77

--HG--
extra : rebase_source : 1e2c3b5620f5d7e6e789848da57b2486c3d74f14
2017-06-13 02:00:49 -04:00
Nicholas Nethercote
58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
David Anderson
a967d21a69 Allow LayerManagers to disable complex component alpha cases. (bug 1365879 part 19, r=mattwoodrow) 2017-06-20 01:17:22 -07:00
David Anderson
eda24ede27 Rename LayerManager::Composite to LayerManager::ScheduleComposite. (bug 1365879 part 17, r=mattwoodrow) 2017-06-20 01:17:21 -07:00
domfarolino@gmail.com
d4253766db Bug 1274663 - Expose API to trigger device reset. r=dvander
--HG--
extra : rebase_source : 5a9d2757f8e7378083ce42131d5a250027569814
2017-06-15 14:34:00 -04:00