Commit Graph

82 Commits

Author SHA1 Message Date
Markus Stange
f510a8a0ad Bug 1349418 - Remove checkerboarding code and just use an opaque background color behind root scroll frames. r=kats 2017-04-10 17:01:53 +12:00
Sotaro Ikeda
babd939cf1 Bug 1317656 - Cleanup more gonk/b2g dependent code r=nical 2016-11-15 22:01:30 -08:00
Matt Woodrow
16f8a8bdeb Bug 1308363 - Remove GONK specific code from gfx/. r=jrmuizel,sotaro 2016-10-27 13:17:10 +13:00
Nicolas Silva
9358c2fa27 Bug 1088300 - Remove mCompositableClient from TileClient, pass the compositable and layer by reference to remove the possibility of unexpectedly storing null pointers. r=milan 2016-08-30 13:48:20 +02:00
Sebastian Hengst
b9160a4576 Backed out changeset a8ff54e28b15 (bug 1088300) for unused variable error in SingleTiledContentClient.h. r=backout on a CLOSED TREE 2016-08-30 14:06:14 +02:00
Nicolas Silva
af1203c423 Bug 1088300 - Remove mCompositableClient from TileClient, pass the compositable and layer by reference to remove the possibility of unexpectedly storing null pointers. r=milan 2016-08-30 13:48:20 +02:00
Ryan Hunt
21c8950719 Bug 1294588 - Remove UseProgressivePaint from gfxPlatform and use gfxPrefs instead. r=dvander
MozReview-Commit-ID: 1A9bFY2HS2z
2016-08-11 14:21:17 -07:00
David Anderson
af08f9692b Move TileSize from gfxPlatform to gfxVars. (bug 1288259 part 3, r=jrmuizel) 2016-08-04 11:33:43 -07:00
Jamie Nicol
568fb5ae8b Bug 1263083 - Use single-tile layer when less than half the tile size in either dimension; r=mstange
MozReview-Commit-ID: 8yYXVl36AHK
2016-06-24 12:52:17 +01:00
James Willcox
b1e4a254f8 Bug 1178376 - Allow progressive painting when low-precision tiles are disabled r=BenWa 2016-04-26 09:49:12 -05:00
David Anderson
7b7cd394cc Rename PCompositor to PCompositorBridge. (bug 1258479 part 2, r=mattwoodrow) 2016-03-22 14:08:38 -04:00
Jamie Nicol
61780e0be3 Bug 1255448 - Call ClientMultiTiledLayerBuffer::PaintThebes even when region to paint is empty. r=mattwoodrow
Remove early return for empty invalid regions from
ClientTiledPaintedLayer::RenderHighPrecision so that
ClientMultiTiledLayerBuffer::PaintThebes is called even when the region
to paint is empty. This ensures that the tile buffer will free unused
tiles in cases where no new painting is required but the valid region
has shrunk.

Add replacement early returns into ClientMultiTiledLayerBuffer to avoid
as much needless work as possible while still recalculating which tiles
are valid.

MozReview-Commit-ID: C86Pi7lRjjs
2016-03-10 15:01:15 +00:00
Benoit Girard
e38a13a8a8 Bug 1255907 - Fix unification build issues in APZ & Layers. r=kats
MozReview-Commit-ID: 4tUYEJRgpUF
2016-03-14 11:39:12 -04:00
Jamie Nicol
102e301210 Bug 1250517 - Differentiate between no critical display port and empty critical display port in ClientTiledPaintedLayer; r=kats
Currently the logic in ClientTiledPaintedLayer treats an empty critical
display port to mean that there is no critical display port, i.e. that
the entire visible region should be painted. However, the critical
displayport should be, and is, empty if either the display port or
composition bounds are entirely outwith the layer's bounds. We want to
render none of the layer in this case, not all of it.

Change BasicTiledLayerPaintData::mCriticalDisplayPort's type to a
Maybe<LayerIntRect>, and differentiate between it being not set and it
being an empty rect.

MozReview-Commit-ID: Gi1iZOQcOVL
2016-02-23 15:38:29 +00:00
Kartikaya Gupta
1babce2340 Bug 1243589 - Use SingleTiledContentClient even for scrollable layers if the layer is smaller than a single tile. r=mattwoodrow
MozReview-Commit-ID: 6eYFmoOVL6b
2016-02-12 08:29:25 -05:00
Wes Kocher
5c800c3f03 Backed out changeset 19c631cc41c8 (bug 1243589) for test_transformed_scrolling_repaints.html failures on OS X 2016-02-11 16:34:28 -08:00
Kartikaya Gupta
6a44a0ced2 Bug 1243589 - Use SingleTiledContentClient even for scrollable layers if the layer is smaller than a single tile. r=mattwoodrow
MozReview-Commit-ID: LHIrrtFfRgm
2016-02-11 16:49:04 -05:00
Nicolas Silva
0061e505e2 Bug 1221056 - Make the destroy messages for PTexture and PCompositable part of the current transaction when applicable. r=sotaro 2016-01-07 11:17:40 +01:00
Johan Lorenzo
d74e322301 Backout Bug 1221056 - make the destroy messages for PTexture and PCompositable part of the current transaction when applicable. r=sotaro
For breaking Firefox OS boot startup (see bug 1237197)
2016-01-06 14:59:35 +01:00
Nicolas Silva
6d9176802f Bug 1221056 - make the destroy messages for PTexture and PCompositable part of the current transaction when applicable. r=sotaro 2016-01-05 14:03:26 +01:00
Kartikaya Gupta
5f35a63965 Bug 1228602 - Ensure that we pick up the presShell resolution from the layer if there isn't a metrics. r=botond 2015-12-09 17:29:03 -05:00
Botond Ballo
6d77a56654 Bug 1069417 - Remove the explicit template argument of TransformTo() and related functions. r=kats
In this process, TransformTo() and UntransformTo() are renamed TransformedBy()
and UntransformBy() so calls to them continue to read sensibly.
2015-11-30 20:06:45 -05:00
Botond Ballo
85af71a0e4 Bug 1069417 - Modify TransformTo() and related functions to use typed matrices. r=kats
Call sites (all in APZ and related code) were modified accordingly. Some of
these modifications involved changing some matrices stored in APZ to be typed.
2015-11-30 20:14:31 -05:00
Markus Stange
7747939a01 Bug 1198021 - When the ContentClient of a ClientTiledPaintedLayer changes, don't destroy the old content client until after the layer transaction has been sent. r=nical 2015-11-27 16:09:18 +01:00
Sunny Sidhu
2ba69faae0 Bug 1220873 - Make Layer::mVisibleRegion a LayerIntRegion. r=botond 2015-11-29 02:07:55 -05:00
Botond Ballo
db5d15db66 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical 2015-11-06 22:13:40 -05:00
James Willcox
00911b2e72 Bug 1201541 - Add a pref for disabling single tile layers r=mattwoodrow 2015-09-28 09:37:01 -05:00
James Willcox
71d0f888cf Bug 1201541 - Use SingleTiledContentClient for non-scrollable layers on Android r=mattwoodrow 2015-09-28 09:36:58 -05:00
Markus Stange
5a3df07a8d Bug 1207590 - Don't use SingleTiledContentClient for layers that are larger than the maximum texture size. r=mattwoodrow 2015-09-23 12:26:56 +02:00
Markus Stange
eb9735d351 Back out changeset 17a4283a8b6f (bug 1195400) because of build bustage. 2015-09-22 12:51:48 +02:00
Markus Stange
9f1365fd12 Bug 1195400 - Don't use SingleTiledContentClient for layers that are larger than the maximum texture size. r=mattwoodrow 2015-09-20 18:34:04 +02: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
Matt Woodrow
a20bd93cc8 Bug 1180326 - Part 6: Use SingleTiledContentClient for non-scrollable layers on b2g and OSX. r=jrmuizel 2015-07-29 12:03:01 -04:00
Matt Woodrow
70980d7383 Bug 1180326 - Part 4: Add new content client. r=jrmuizel 2015-07-29 12:02:40 -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
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
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Timothy Nikkel
c1571c5177 Bug 1179298. ClientTiledPaintedLayer should allow empty transactions to succeed if it doesn't need to draw anything. r=mattwoodrow
ClientTiledPaintedLayer::RenderLayer was returning false immediately if there was no callback. It should check if it actually has to draw anything first, and then if it needs to paint it can return false if there is no callback.
2015-07-02 12:50:15 -05:00
David Anderson
2511c6ca59 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Markus Stange
3000f6c8eb Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson
38a60e1411 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Paul Rouget
9fd33c6cf4 Bug 1172537 - Make the warning: "Tiled PaintedLayer with no scrollable container ancestor" occur only on actual b2g phones. r=nical 2015-06-09 20:33:00 -04:00
David Anderson
e4bdc9d5b3 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04: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
Nicolas Silva
d73f54cb00 Bug 1155621 - Make nsIntRect and nsIntPoint typedefs of mozilla::gfx::IntRect and mozilla::gfx::IntPoint. r=Bas 2015-04-21 17:04:57 +02:00
Markus Stange
86418cc32a Bug 1152838 - Correctly inflate valid regions to tile boundaries. r=mattwoodrow 2015-04-09 12:07:16 -04:00
Kartikaya Gupta
3c4bcf155a Bug 1149461 - Disable progressive drawing unless the compositor is actively scrolling a tiled layer. r=nical 2015-04-07 10:43:28 -04:00
Kartikaya Gupta
7ce66107c4 Bug 1128042 - Don't round critical displayport out as it should already be tile aligned and rounding error can increase tile usage. r=botond 2015-03-20 14:26:51 -04:00
Kartikaya Gupta
1ad1fe3cd3 Bug 1036967 - Followup to fix debug logging. r=me 2015-03-20 06:58:04 -04:00
Kartikaya Gupta
d659a3274f Bug 1139033 - Don't schedule an unnecessary repeat transaction when doing a non-progressive paint. r=nical 2015-03-05 06:04:03 -05:00