Commit Graph

175 Commits

Author SHA1 Message Date
Nicholas Cameron
41314b89f2 Bug 755078 - Backout previously-landed patch for bug 755078. r=roc 2012-06-09 14:22:40 -04:00
Robert O'Callahan
a54ea3aa5f Bug 753329. Share ThebesLayerInvalidRegion for a given ContainerLayer across all the frames that are sharing that layer as their ContainerLayer. r=mattwoodrow
* * *
Bug 753329. Followup: put ThebesLayerInvalidRegionProperty in display-list-builder coordinates so it can be shared by frames with different coordinate systems. r=mattwoodrow
2012-06-07 22:07:32 +12:00
Nicholas Cameron
5731bf3be3 Bug 758561 - Don't build a mask for an empty layer. r=roc 2012-05-28 21:10:08 -04:00
Nicholas Cameron
eaca72e8fd Bug 757346 - Change from clipping the mask to drawing it. r=roc 2012-05-27 16:55:22 -04:00
Robert O'Callahan
ecbab2ff94 Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel 2012-05-04 17:00:57 +12:00
Nicholas Cameron
a75759c60f Bug 753784; force mask layers to have a single tile - misc bits and pieces. r=roc 2012-05-17 10:30:10 +12:00
Nicholas Cameron
9be563af61 Bug 753784; add the ability to force a single tile. r=roc 2012-05-22 19:14:03 -04:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Nicholas Cameron
044718db79 Bug 755078 - Disable mask layers on Android. r=roc 2012-05-17 10:30:10 +12:00
Matt Woodrow
3c6ff5136f bug 750334 - rotating image appears too big during transition, then snaps to correct size r=roc
--HG--
extra : rebase_source : a8064d474693838e68f7b865f76043e1192a07a5
2012-05-15 10:31:39 +12:00
Nicholas Cameron
29f95ca6fd Bug 754488 - Fix warning in FrameLayerBuilder.cpp. r=dholbert 2012-05-14 19:01:05 -04:00
Robert O'Callahan
dca2ccff9c Bug 681192. Part 10: Control rounding direction of scaledOffset to try to make the residual be close to mActiveScrolledRootPosition. r=tnikkel
--HG--
extra : rebase_source : f27fb737f8956ed117df0be3a71da847cc2048c0
2012-05-10 17:24:20 +12:00
Robert O'Callahan
2c975e4eb4 Bug 681192. Part 0.3: Add FrameLayerBuilder::GetThebesLayerResolutionForFrame. r=mattwoodrow
--HG--
extra : rebase_source : eea4dee6d081de5c288e295f3549fc88b10e6c39
2012-05-10 17:24:18 +12:00
Robert O'Callahan
5d9d661ae9 Bug 681192. Part 0.2: Use FuzzyEqual to check whether we need to invalidate ThebesLayers when subpixel offsets have changed. r=mattwoodrow
--HG--
extra : rebase_source : d0f8464aea9a436214d394123b1399105ccd0f66
2012-05-10 17:24:18 +12:00
Ed Morley
01d2ddd5d5 Backout 5c35cd6f3ea4 & ba39b0822992 (bug 607417) for native Android R1 failures 2012-05-04 14:26:09 +01:00
Robert O'Callahan
8d789110c9 Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
--HG--
extra : rebase_source : f68d53736e65c21a30a6248abe6b2b9ec32cdb17
2012-05-04 17:00:57 +12:00
Robert O'Callahan
65e34332be backing out patches for bug 607417 due to build bustage 2012-05-04 17:29:05 +12:00
Robert O'Callahan
9367097525 Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel 2012-05-04 17:00:57 +12:00
Andreas Gal
dceb01a952 Do image scaling on the GPU (bug 650988, r=roc,cjones). 2012-05-03 07:05:55 -07:00
Nicholas Cameron
5cc1397fe6 Bug 716439; load a mask texture in the OGL backend. r=BenWa 2012-03-19 09:08:49 +13:00
Nicholas Cameron
7d91b411ee Bug 716439; creating mask layers. r=roc 2012-02-08 11:27:44 +13:00
Nicholas Cameron
3256b79a37 Bug 716439; recycling mask layers. r=roc 2012-02-08 11:26:40 +13:00
Nicholas Cameron
5c54eddf89 Bug 716439; User data for mask layers. r=roc 2012-02-08 11:26:33 +13:00
Robert O'Callahan
cb8220ad18 Bug 749075. Part 2: Skip the guts of Accumulate if we're adding a display item in an area of the layer that's already opaque and visible. r=mattwoodrow
This patch moves some stuff that needs to be done for every item up to the front of the function, then checks to
see if the item is being added in an area that's already opaque and visible. If so (and assuming the
color-layer optimization has already been disabled), none of the rest of the method would do anything so we
can exit early. In particular we avoid calling IsUniform and GetOpaqueRegion on the item, and we also avoid
some expensive region manipulation.
2012-05-03 16:29:05 +12:00
Robert O'Callahan
3e0ac701ac Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00
Andreas Gal
ef9beb1ab9 Render active layers at full resolution and transform them on the GPU (bug 750006, r=roc). 2012-04-29 14:41:13 -07:00
Matt Woodrow
86a700a6ae Bug 747718 - Disable ColorLayer optimizations when we have rounded-rect clipping. r=roc 2012-04-27 12:24:53 +12:00
Jeff Muizelaar
4c6a9736de Bug 745864. Add SAMPLE_LABELs to layout code. r=roc, a=joe
--HG--
extra : rebase_source : d826780c34692d333442b6bf563791b53bf3aa3d
2012-04-16 14:37:59 -04:00
Robert O'Callahan
e1a9548573 Bug 728983. Part 2: When display items for multiple frames are merged, track the merged frames and mark them all as having an associated container layer. This ensures that invalidations are processed correctly. r=mattwoodrow 2012-04-17 17:45:04 +12:00
Robert O'Callahan
d97a81aaec Bug 744607. Intersect a display item's layer-pixels draw-rect with the snapped clip rect. r=tnikkel 2012-04-13 23:44:05 +12:00
Robert O'Callahan
833e8a244f Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.

With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).

FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Robert O'Callahan
dc8336f1e9 Bug 735141. Clear imageContainer to indicate that we're not using that optimization. r=tnikkel 2012-03-19 20:26:39 +13:00
Ali Juma
ebf4e4d87a Bug 725095 - Address Layout review comments. r=mats 2012-03-13 12:57:31 -04:00
Benoit Girard
18b1521f00 Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
Benoit Girard
b24e1949c2 Backed out changeset 39a3044823b0 because of bad interaction with maple. 2012-03-02 18:32:46 -05:00
Benoit Girard
77a9a7b782 Merge mc->Maple, resolved conflicts 2012-03-02 14:27:05 -05:00
Kartikaya Gupta
134e9fec76 Merge m-c 2012-02-27 15:06:35 -05:00
Doug Turner
0aea58f84d merge with mozilla-central: 2012-02-22 09:30:09 -08:00
Ed Morley
31a11aef7f Backout 5ba9a4f41128 (bug 724614) for OS X reftest failures
--HG--
rename : layout/reftests/transform-3d/scale3d-all-separate.html => layout/reftests/transform-3d/scale3d-2-ref.html
2012-02-21 13:53:11 +00:00
Robert O'Callahan
af1daebc09 Bug 727661. We should only optimize ThebesLayers to ColorLayers or ImageLayers for brand-new layers (ThebesLayers with no currently valid data). Otherwise we risk ColorLayers being a deoptimization if there is valid content in the layer that doesn't happen to be visible but might become visible later, or if the layer contents are only temporarily a solid color and will soon need a buffer again. r=tn 2012-02-16 17:17:20 +13:00
Benoit Girard
5ec8cb5563 Make OMTC changes not effect desktop 2012-02-13 17:17:12 -05:00
Aryeh Gregor
7c2685c0bc Bug 724614 - 3D scaling makes text blurry. r=mattw
--HG--
rename : layout/reftests/transform-3d/scale3d-2-ref.html => layout/reftests/transform-3d/scale3d-all-separate.html
2012-02-09 10:09:39 -05:00
Benoit Girard
b18a77e427 Merge viewport with tip 2012-02-08 20:42:17 -05:00
Patrick Walton
5ec20f37ac Temporary workaround for bug 681192 and bug 724786 (subpixel layer invalidation). Remove me later. 2012-02-07 22:21:38 -08:00
Matt Woodrow
6ec8203d33 Bug 700240 - Print display lists to a file. r=roc,bjacob 2012-03-01 21:26:09 +13:00
Robert O'Callahan
1f8d8e9fb6 Bug 721627. Don't return nsRefPtr/nsCOMPtr from nsDisplayImage methods. nsDisplayImage::GetImage is unused anyway. r=mats 2012-01-30 18:16:54 +13:00
Phil Ringnalda
f7620ea904 Back out eb80ab6ee07b (bug 721627) and 06d02e7132b2 (bug 721294) for orange and red 2012-01-27 20:31:29 -08:00
Robert O'Callahan
b8fdaacc86 Bug 721627. Don't return nsRefPtr/nsCOMPtr from nsDisplayImage methods. nsDisplayImage::GetImage is unused anyway. r=mats
--HG--
extra : rebase_source : 113647a8bf8101b7c4d7058bd205be734f38125d
2012-01-28 16:36:49 +13:00
Robert O'Callahan
1f5f8fa298 Bug 727661. We should only optimize ThebesLayers to ColorLayers or ImageLayers for brand-new layers (ThebesLayers with no currently valid data). Otherwise we risk ColorLayers being a deoptimization if there is valid content in the layer that doesn't happen to be visible but might become visible later, or if the layer contents are only temporarily a solid color and will soon need a buffer again. r=tn 2012-02-16 17:17:20 +13:00
Aryeh Gregor
caf16ab10a Bug 724614 - 3D scaling makes text blurry. r=mattw
--HG--
rename : layout/reftests/transform-3d/preserve3d-1a.html => layout/reftests/transform-3d/preserve3d-5a.html
rename : layout/reftests/transform-3d/scale3d-2-ref.html => layout/reftests/transform-3d/scale3d-all-separate.html
2012-02-23 13:03:27 -05:00