Commit Graph

800 Commits

Author SHA1 Message Date
Andreas Gal
b46e377f5d 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
7bda932fda Bug 747718 - Disable ColorLayer optimizations when we have rounded-rect clipping. r=roc 2012-04-27 12:24:53 +12:00
Jeff Muizelaar
b0f22d77f7 Bug 745864. Add SAMPLE_LABELs to layout code. r=roc, a=joe 2012-04-16 14:37:59 -04:00
Robert O'Callahan
a400c14c96 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
3ab71e7f00 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
fb6a78d67b 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
504206505f 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
40dca70e4b Bug 725095 - Address Layout review comments. r=mats 2012-03-13 12:57:31 -04:00
Benoit Girard
ceb831e001 Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
Benoit Girard
ae335d8d56 Backed out changeset 39a3044823b0 because of bad interaction with maple. 2012-03-02 18:32:46 -05:00
Benoit Girard
a41da854d6 Merge mc->Maple, resolved conflicts 2012-03-02 14:27:05 -05:00
Kartikaya Gupta
92f7200fe7 Merge m-c 2012-02-27 15:06:35 -05:00
Doug Turner
feb746215a merge with mozilla-central: 2012-02-22 09:30:09 -08:00
Ed Morley
2aac7c9512 Backout 5ba9a4f41128 (bug 724614) for OS X reftest failures 2012-02-21 13:53:11 +00:00
Robert O'Callahan
fb53fc99ea 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
76e9bab873 Make OMTC changes not effect desktop 2012-02-13 17:17:12 -05:00
Aryeh Gregor
0b72a9ef3c Bug 724614 - 3D scaling makes text blurry. r=mattw 2012-02-09 10:09:39 -05:00
Benoit Girard
c74f2876e5 Merge viewport with tip 2012-02-08 20:42:17 -05:00
Patrick Walton
7eaf5ae499 Temporary workaround for bug 681192 and bug 724786 (subpixel layer invalidation). Remove me later. 2012-02-07 22:21:38 -08:00
Matt Woodrow
8479f565f2 Bug 700240 - Print display lists to a file. r=roc,bjacob 2012-03-01 21:26:09 +13:00
Robert O'Callahan
e92dcbbfa7 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
1ba02a0c9b Back out eb80ab6ee07b (bug 721627) and 06d02e7132b2 (bug 721294) for orange and red 2012-01-27 20:31:29 -08:00
Robert O'Callahan
5932a16359 Bug 721627. Don't return nsRefPtr/nsCOMPtr from nsDisplayImage methods. nsDisplayImage::GetImage is unused anyway. r=mats 2012-01-28 16:36:49 +13:00
Robert O'Callahan
56f3e174c0 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
6b018cbffa Bug 724614 - 3D scaling makes text blurry. r=mattw 2012-02-23 13:03:27 -05:00
Bas Schouten
33c8caf378 Bug 715785: Make ImageContainers independent of LayerManagers. r=roc 2012-02-01 03:18:30 +01:00
Nicholas Cameron
beb6d487a1 Bug 718521 - Fix bug clipping to rounded rectangles for multiple objects. r=roc 2012-01-20 09:21:41 +13:00
Robert O'Callahan
e387b177e0 Bug 713523. Part 2: Add SimplifyOutward for mVisibleAboveRegion and mDrawAboveRegion to avoid performance sinkholes when many layers are above a single ThebesLayer. r=tn 2012-01-12 00:26:33 +13:00
Robert O'Callahan
8b0130f1f6 Bug 713532. Part 1: Suppress subpixel antialising in retained layers with an ancestor which has a non-integer-translation transform. r=tn 2012-01-12 00:26:33 +13:00
Jeff Walden
443b8f7d1f Bug 711799 - Add parentheses to a bunch of && expressions nested within || expressions. r=dholbert 2011-12-18 01:00:47 -05:00
Jeff Muizelaar
87a35137e7 Bug 707800. Add more sampler labels. r=bgirard 2011-12-02 17:05:33 -05:00
Chris Lord
bdf98408ad Bug 706690 - CSS scaling is jagged while layers are active. r=roc
While layers are active, scale factors are normalized to a power of 2 to
reduce the number of resolution changes during animations. This patch disables
the normalization when the scale factor on the layer is unchanged, or when
the layer was previously unscaled.
2011-12-07 23:12:41 +00:00
Matt Woodrow
a894703f8b Bug 700240 - Make display list debugging independent of DEBUG. r=khuey,roc 2011-11-17 16:44:16 +13:00
Bas Schouten
9e27051a07 Bug 334411: Introduce flashing invalidates areas when paint flashing is enabled. r=roc 2011-11-15 04:59:03 +00:00
Matt Woodrow
ec2540a9cf Bug 695275 - Fix conversion of ThebesLayers to ImageLayers. r=roc 2011-10-26 16:24:58 +13:00
Matt Woodrow
2f9913d534 Bug 695275 - Add CheckAndClearPaintedState to test painting. r=roc 2011-10-26 16:23:26 +13:00
Robert O'Callahan
3cf076a0d4 Backed out changeset 9bbb30ec51f5 2011-10-26 15:55:51 +13:00
Robert O'Callahan
f522f12f94 Bug 678859. Don't create layers for content less than 16x16 pixels. r=tn 2011-10-26 14:14:49 +13:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Justin Lebar
8cd48c65bb Bug 688619 - Make FrameLayerBuilder::DisplayItemEntry use an nsAutoTArray. r=roc 2011-10-06 17:35:08 -04:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Mats Palmgren
43e9cc6335 Bug 684574 - InternalInvalidateThebesLayersInSubtree should recurse on the subdocument root frame. r=roc 2011-09-06 14:56:45 +02:00
Matt Woodrow
84d05e7b91 Bug 505115 - Part 15 - Add 4D Vectors, Quaternions and gfx3DMatrix functions. r=derf 2011-08-27 12:06:03 +12:00
Mats Palmgren
1bfd788e19 Bug 653649 - New way of getting child lists from frames. (part 3/5) r=roc
Update GetAdditionalChildListName consumers to use the new
child list iterator instead.
2011-08-24 22:54:29 +02:00
Matt Woodrow
efeba44259 Bug 505115 - Part 8c - Use ray tracing to untransform 2d points on a 3d plane. r=roc 2011-08-03 15:04:21 +12:00
Robert O'Callahan
b4694dcffb Bug 637852. Part 24: Fix scale/translate order in DrawThebesLayer. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
1f7b4e5dc9 Bug 637852. Part 23: Fix incorrect call to 'abs'. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
ac58488971 Bug 637852. Part 22: Detect when the contents of a ThebesLayer have shifted by a subpixel amount and repaint the entire layer when that happens. r=tnikkel
This fixes artifacts when we're scrolling inside scaled content, and includes a test for that (which fails without
this code change).
2011-06-23 00:11:28 +12:00
Robert O'Callahan
be216820d1 Bug 637852. Part 21: Skip invalidation if aRegionToInvalidateIsEmpty (note that ScaleRoundOut on an empty bounds rect can return a non-empty rect). r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
8249fc6a0e Bug 637852. Part 18: Support computing the "residual transform" for a ThebesLayer --- the difference between its snapped transform and the ideal transform --- and use it to align ThebesLayer drawing for transforms that aren't changing. r=tnikkel
This fixes bug 637597 and probably other bugs.
2011-06-23 00:11:28 +12:00