Commit Graph

226 Commits

Author SHA1 Message Date
Nicholas Nethercote
83bf0be604 Bug 1207944 (part 1) - Pass a gfx::Color& instead of a gfxRGBA& to SetDeviceColor(). r=jwatt.
This avoids a gfxRGBA-to-Color conversion in SetDeviceColor() itself.
2015-09-23 23:33:31 -07:00
Jamie Nicol
45bdc72d64 Bug 1200729 - Recompute FrameLayerBuilder item visibility if dirty region changes. r=mwoodrow
Make the FrameLayerBuilder remember for what region it has calculated
display item visibility, then recompute the visibility whenever the
dirty region it is passed to DrawPaintedLayer changes.

This means that the caller does not have to know the entire dirty region
that will be drawn for the transaction, but we can still optimise cases
where it knows some of the dirty region in advance.

This fixes a regression where MultiTiledContentClient's low-res display
port would not be painted if a smaller region of its high-res buffer had
already been painted that transaction, since the FrameLayerBuilder
had decided that most of the larger low-res region was invisible.
2015-09-15 14:41:42 +01:00
Nicholas Nethercote
830cf484e9 Bug 1203427 (part 1) - Add nsExpirationTracker::mName. r=froydnj.
There are many sub-classes of nsExpirationTracker. In order to distinguish them
nicely in the logging of timer firings, it's necessary to manually name each
one. (This wouldn't be necessary if there was a way to stringify template
parameters, but there isn't.)
2015-09-09 21:07:07 -07:00
Kartikaya Gupta
4ece257d77 Bug 1203992 - Distinguish between SingleTiledContentClient and MultiTiledContentClient in the layer tree dump. r=nical 2015-09-14 11:02:11 -04:00
Wes Kocher
6861dc007e Backed out 3 changesets (bug 1178376) for android reftest bustage CLOSED TREE
Backed out changeset 9394c5f63b56 (bug 1178376)
Backed out changeset 83295d5f54a9 (bug 1178376)
Backed out changeset 5e1c6511123a (bug 1178376)
2015-09-11 11:20:23 -07:00
James Willcox
c676a975cf Bug 1178376 - Optionally fade in new progressively painted tiles r=nical 2015-09-11 09:09:51 -05:00
James Willcox
a4d9098808 Bug 1178376 - Allow progressive painting when low-precision tiles are disabled r=BenWa 2015-09-11 09:09:49 -05:00
James Willcox
6e7d1929b8 Bug 1178376 - Put progressive paint status in tile updates r=nical 2015-09-11 09:09:48 -05:00
Kevin Wern
811c195d21 Bug 1173521 - Properly handle unapplying 3D projective transforms to rectangles in APZ code. r=botond
The untransformation is done using the newly added UntransformTo() functions
which call Matrix4x4::ProjectRectBounds(), which returns an empty rectangle
if the result is not at least partially on the positive side of the w = 0 plane.

UntransformTo() returnis the transformed rectangle if it's not empty, and
Nothing() otherwise, making callers check for this case.

The patch also adds some assertions to places where we apply transforms we
know should be 2D (and thus didn't switch to use UntransformTo()), checking
that the transforms are in fact 2D.
2015-08-28 12:00:29 -04:00
Jamie Nicol
6e0e1d166c Bug 1187619 - Only optmimize FrameLayerBuilder visibility calculations if correct. r=mattwoodrow
Bug 1176077 introduced the parameter aDirtyRegion to
DrawPaintedLayerCallback, which allows the callback to recompute the
visibility of all items to be painted in that transaction in a single
go. However, this parameter can not always be determined correctly
when using RotatedBuffer, and using an incorrect value was causing
graphical glitches.

Make the parameter optional, and on null values do not perform the
optimisation. Pass null from ClientPaintedLayer, which uses
RotatedBuffer and was causing problems, but continue to pass the
correct value from other Layer implementations. This optimisation was
most important for tiled layers using progressive paint, so this is
okay.
2015-08-03 04:07:00 -04:00
Matt Woodrow
902b3a1af6 Bug 1180326 - Part 3: Move repeated code into GetBackBuffer. r=jrmuizel 2015-07-29 12:02:27 -04:00
Matt Woodrow
a0ba59e752 Bug 1180326 - Part 2: Add support for variable tile sizes. r=jrmuizel 2015-07-29 12:01:21 -04:00
Matt Woodrow
f2624668c2 Bug 1180326 - Part 1: Abstract parts of the client side tiling that we need. r=jrmuizel 2015-07-29 12:01:11 -04:00
Nicolas Silva
08dbe9ee85 Bug 1118876 - Add edge padding with DrawTargetTiled. r=jrmuizel 2015-07-12 11:11:30 +02:00
Jamie Nicol
247a721f36 Bug 1186911 - Fix progressive paint when using tiled-drawtarget. r=nical
The commit for bug 1176077 did not correctly handle the code path for
when both progressive paint and tiled-drawtarget are enabled. This
fixes it.
2015-07-24 10:42:12 +01:00
Jamie Nicol
a1feb12475 Bug 1176077 - Only recompute PaintedLayer item visibility when display list has changed. r=mattwoodrow
FrameLayerManager::RecomputeItemsVisibility() was being called on every
call to FrameLayerBuilder::DrawPaintedLayer(), each time for the region
to be painted by that paint call. This is inefficient when progressive
paint is enabled. Change it so that we compute the visibility of all the
layer's items within the total region to be painted, but only on the
first paint after the display list has been modified.
2015-07-21 09:19:25 +01:00
Matt Woodrow
827045078c Bug 1179987 - Remove painted region from SurfaceDescriptorTiles since it isn't used any more. r=nical 2015-07-15 13:36:12 -04:00
Lee Salzman
cf7e6f61d8 Bug 1170390 - Use Optimal2DFormatForContent over OptimalFormatForContent to avoid enum conversions. r=jrmuizel 2015-07-06 22:27:19 -04:00
Nicolas Silva
02ce40b14f Bug 1129871 - Avoid copying TileClient when not necessary. r=BenWa 2015-07-10 13:50:21 +02:00
Robert O'Callahan
c4a9604528 Bug 1143575. Factor out AsyncTransactionWaiter from AsyncTransactionTracker so we'll be able to wait for multiple AsyncTransactionTrackers. r=nical,sotaro 2015-05-12 15:36:49 +12:00
Nicolas Silva
fb6854370b Bug 1170189 - Remove the TiledLayerComposer interface. r=BenWa 2015-07-01 13:51:03 +02:00
Nicolas Silva
efb6fc3ecf Bug 1170189 - Simplify the client-side tiling code. r=BenWa 2015-07-01 13:50:58 +02:00
Nicolas Silva
73daf00ad5 Bug 1170189 - Use TilesPlacement to handle tile coordinates conversion. r=BenWa 2015-06-10 17:56:34 +02:00
Amanda Sambath
86f2768844 Bug 1158120 - Edit include and comments that contained gfxIntSize and nsIntSize. r=nical 2015-05-29 17:01:46 +02:00
Nicolas Silva
3b53f42370 Bug 1150549 - Simplify TiledContentHost. r=jrmuizel 2015-05-22 13:38:13 +02:00
Ryan VanderMeulen
848450c7f2 Backed out changesets 4b6aa5c0a1bf and fdf38a41d92b (bug 1150549) for Mulet crashes.
CLOSED TREE
2015-05-25 14:05:05 -04:00
Nicolas Silva
bd83e568cb Bug 1150549 - Simplify TiledContentHost. r=jrmuizel 2015-05-22 13:38:13 +02:00
Ryan VanderMeulen
c5e158fea0 Backed out 2 changesets (bug 1150549) for OSX asserts.
Backed out changeset ef2faa9a0845 (bug 1150549)
Backed out changeset b35c88257a9c (bug 1150549)

CLOSED TREE
2015-05-22 10:28:52 -04:00
Nicolas Silva
406188695b Bug 1158838 - Add some gfxCriticalError logging. r=milan 2015-05-22 15:47:33 +02:00
Nicolas Silva
cc0fc4c82c Bug 1150549 - build fix on a CLOSED TREE 2015-05-22 14:11:16 +02:00
Nicolas Silva
e1a1dc02be Bug 1150549 - Simplify TiledContentHost. r=jrmuizel 2015-05-22 13:38:13 +02:00
Kartikaya Gupta
cb5c22758d Bug 1160566 - Make FrameMetrics.mCompositionBounds private and add a getter/setter for it. r=botond 2015-05-07 14:44:03 -04:00
Thibaud Backenstrass
0513f5db71 Bug 1158122 - Remove all occurences of nsIntRect in gfx/layers/client. r=nical 2015-05-07 11:07:47 +02:00
Markus Stange
99a7710234 Bug 1151071 - Make sure low-resolution tiles are transparent. r=mattwoodrow 2015-04-06 22:41:21 -04:00
Kartikaya Gupta
9f9ad218e8 Bug 1145764 - Add logging for tile retention inside a TiledLayerBuffer. r=nical 2015-03-23 13:01:02 -04:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Botond Ballo
5272cb578e Bug 1036967 - Use ScaleFactors2D instead of ScaleFactor where appropriate in APZ and surrounding code. r=kats 2015-03-06 13:54:10 -05:00
Kartikaya Gupta
6510ab7fc0 Bug 1137203 - Ignore the critical displayport when a layer is subject to OMTA relative to the scrolling ancestor. r=BenWa 2015-02-26 17:45:37 -05:00
Ryan VanderMeulen
e08fc71c94 Backed out changesets ddf965a90c07 and 305e676779f8 (bug 1137203) for being the likely cause of bug 1137952.
CLOSED TREE
2015-03-02 12:34:39 -05:00
Kartikaya Gupta
d518e1207c Bug 1137203 - Ignore the critical displayport when a layer is subject to OMTA relative to the scrolling ancestor. r=BenWa 2015-02-26 17:45:37 -05:00
Carsten "Tomcat" Book
61246f6921 Backed out changeset 6952d9fe4f36 (bug 1129871) for causing R14/R15 Test failures 2015-02-17 14:36:42 +01:00
Nicolas Silva
2e10fb14ff Bug 1129871 - Favor passing tiles by ref rather than copy part 1. r=BenWa 2015-02-14 12:14:54 +01:00
Mason Chang
376ee3d332 Bug 1130681. Part 1: Add unlock back to ClientTiledLayerBuffer for causing emulator R14 intermittent but doesn't seem necessary. r=jrmuizel 2015-02-13 16:36:46 +08:00
Mason Chang
d8f4267ec0 Bug 1130681. Part 2: Backout bug 1118876 for android reftest failures. r=jrmuizel 2015-02-13 16:36:45 +08:00
Nicolas Silva
64695dcbde Bug 1131038 - Use a READ_WRITE lock instead of WRITE on tile back buffers. r=sotaro 2015-02-09 15:01:11 +01:00
Nicolas Silva
1067af8f7d Bug 1127289 - Add missing synchronization in TiledContentClient with DrawTargetTiled. r=sotaro
CLOSED TREE
2015-02-06 16:05:05 -05:00
Ryan VanderMeulen
bcc7f73012 Backed out changeset 8a49d4f4bb25 (bug 1127289) for frequent B2G reftest failures. 2015-02-06 13:25:22 -05:00
Ryan VanderMeulen
3cbad5967f Backed out changeset 73b8ce222f9f (bug 1129360) for Android reftest failures. 2015-02-06 13:25:10 -05:00
Nicolas Silva
f673158ea2 Bug 1129360 - backout the part of the patch from bug 1127289 that causes intermittent r14 failures on the emulator. r=me 2015-02-06 18:02:59 +01:00
Ryan VanderMeulen
356d403b1a Backed out changesets b57d930e0ba6 and 6c8a74ba8122 (bug 1129871) for gtest failures.
CLOSED TREE
2015-02-05 13:12:18 -05:00