Commit Graph

192 Commits

Author SHA1 Message Date
Matt Brubeck
b52acd4a93 Back out f7bf7ac18a79 (bug 684826), 3a910924c50c (bug 687367), and 524a6bb8744b (bug 693086) because of Android bustage on a CLOSED TREE 2011-10-10 09:47:27 -07:00
Brad Lassey
a66324bb78 merge 2011-10-10 11:01:34 -04:00
Brad Lassey
947452a9cf Backed out changeset 703df62e855b due to crashes reported in bug 693086 2011-10-10 11:00:16 -04:00
Oleg Romashin
441dce8f04 Bug 690469 - ShadowThebesLayer Init/Swap API rework. r=cjones 2011-10-02 17:19:32 -04:00
Matt Woodrow
c005f5cf06 Bug 684759 - Part 4 - Add layer sorting support to the LayerManagers. r=roc 2011-10-07 10:24:32 +13:00
Matt Woodrow
1ed4f8e768 Bug 689501 - Use an offscreen surface for rendering 3d transformed content instead of PushGroup in BasicLayers. r=roc 2011-09-30 14:13:50 +13: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
Oleg Romashin
2450d05d88 Bug 689045 - Canvas Shadow swap/Init API rework r=cjones 2011-09-27 15:19:28 -07:00
Oleg Romashin
a8041173c6 Bug 687372 - ImageLayerOGL should not destroy surface given as argument. r=cjones 2011-09-27 15:19:26 -07:00
Ali Juma
6543bbd2e1 Bug 681033 - Prevent ShadowLayers::RecvUpdate from triggering an immediate repaint. r=cjones 2011-09-26 09:20:42 -04:00
Benoit Jacob
8bd42f19f8 Bug 662258 - GCC warning about BasicThebesLayerBuffer::CreateBuffer getting hidden by ShadowThebesLayerBuffer::CreateBuffer. r=roc 2011-09-24 21:01:18 +02:00
Oleg Romashin
c55ed26949 Bug 685082 - Transparent plugins not cleared on Maemo; r=cjones 2011-09-14 08:51:24 +01:00
Benjamin Stover
b611fd3519 Bug 634759 Allow buffer rotation for mobile r=roc 2011-08-29 10:56:50 -07:00
Matt Woodrow
db01ba7513 Bug 675837 - Add 3D transforms support to BasicLayers. r=roc 2011-08-27 12:04:06 +12:00
Robert O'Callahan
08a8a5b351 Bug 657401. Ensure that when our double-buffering logic expects layers to clip to their visible regions, we actually do. r=tnikkel 2011-08-12 10:44:50 +12:00
Chris Jones
c824346fe0 Bug 648484, part 2: Add various helpers, refactor ContainerLayer::SetSpecificAttributes. r=roc 2011-08-09 12:38:26 -07:00
Scott Ruff
2cb2697b9f Bug 649525 - WebGL layer compositing through the BasicCanvasLayer is very slow (desktop version). r=jmuizelaar 2011-07-27 13:00:17 +02:00
Matt Woodrow
61e5a7df09 Bug 656185 - Part 2 - Upload the entire image for PlanarYCbCrImageOGL to a texture and clip using texture coordinates. r=derf 2011-07-05 14:52:00 +12:00
Matt Woodrow
da5429fd82 Back out bug 656185 due to windows compile failures 2011-06-27 15:21:22 +12:00
Matt Woodrow
ac5a211678 Bug 656185 - Part 2 - Handle odd crop offsets correctly with OpenGl. r=derf 2011-06-27 14:32:16 +12:00
Bas Schouten
15c277921b Bug 651858 - Part 5: Add CanvasLayer code for azure. r=jrmuizel 2011-06-24 19:41:18 +02: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
Robert O'Callahan
bfa11ce4a7 Bug 637852. Part 9: Remove resolution support from BasicLayers, ShadowLayers and GL layers. r=mattwoodrow
This is not needed anymore.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
34bf0ad04f Bug 637852. Part 1: Don't snap BasicThebesLayer effective transforms when we're not retaining layers. r=tnikkel
The ThebesLayer contents are going to be drawn through directly without retaining, so there's no point in snapping.
2011-06-23 00:11:27 +12:00
Oleg Romashin
f58206a6bd Bug 612335 - Render remote canvas directly into shared surface r=jones.chris.g 2011-06-09 21:17:02 -04:00
Robert O'Callahan
b9d85ea59b Bug 647560. Remove unused MayHaveOverlappingOrTransparentLayers. r=tnikkel 2011-05-30 15:48:34 +12:00
Robert O'Callahan
e0e855e927 Bug 647560. Cache temporary backbuffer surfaces. r=karlt 2011-05-30 15:48:29 +12:00
Robert O'Callahan
6b8d1397de Bug 647560. Create ApplyDoubleBuffering to recursively walk layer tree and implement double-buffering by setting mUseIntermediateSurface on ContainerLayers where necessary. r=tnikkel
The idea here is to do double-buffering just by setting mUseIntermediateSurface on ContainerLayers when needed. When
we need to double-buffer compositing of a layer tree, ApplyDoubleBuffering examines the root container layer. If the
child layers don't overlap and together cover the window, we don't need to double-buffer in that container, instead
we can double-buffer each child layer separately --- so we recursively call ApplyDoubleBuffering on the child layers.
When a container has children that overlap or that don't cover the container's visible rect (the latter case
probably can't happen in practice), we force it to have an intermediate surface.

This change fixes this bug because in normal browser windows the Web content layer double-buffers
2011-05-30 15:48:23 +12:00
Robert O'Callahan
33c205656e Bug 647560. Add support for compositing BasicLayers with OPERATOR_SOURCE. r=tnikkel
We'll need this for the improved backbuffer code in the next patch. When a layer tree's
leaf layers don't overlap and cover the window, the next patch will avoid double-buffering
by blitting those layers directly to the window. If the window has transparent parts
(e.g. with Aero Glass), we need to draw the layers for those transparent parts using
OPERATOR_SOURCE so that the alpha values in the window are reset.
2011-05-30 15:48:13 +12:00
Robert O'Callahan
05c5ccfe68 Bug 647560. Clean up MarkLeafLayersHidden and make it set the hidden state on container layers. r=tnikkel
Instead of doing tricks with the cliprect to prevent layer content from adding to aOpaqueRegion, pass an explicit flag to control that.
Mark a ContainerLayer hidden if all its children are hidden. This will need to be changed if/when we add layer properties
that result in a ContainerLayer drawing content even if it has no children.
2011-05-30 15:48:08 +12:00
Robert O'Callahan
c9a1dc9de6 Bug 647560. Use passed-in aContext instead of getting it from the layer manager. r=tnikkel 2011-05-30 15:48:01 +12:00
Vivien Nicolas
283c8a2d07 backout bug 647560 - Pages on Fennec desktop does not not draw anymore 2011-05-20 17:45:00 +02:00
Robert O'Callahan
4ee06a761a Bug 647560. Remove unused MayHaveOverlappingOrTransparentLayers. r=tnikkel 2011-05-18 23:24:52 +12:00
Robert O'Callahan
93c969e997 Bug 647560. Cache temporary backbuffer surfaces. r=karlt 2011-05-18 23:24:52 +12:00
Robert O'Callahan
57c00a6f42 Bug 647560. Create ApplyDoubleBuffering to recursively walk layer tree and implement double-buffering by setting mUseIntermediateSurface on ContainerLayers where necessary. r=tnikkel
The idea here is to do double-buffering just by setting mUseIntermediateSurface on ContainerLayers when needed. When
we need to double-buffer compositing of a layer tree, ApplyDoubleBuffering examines the root container layer. If the
child layers don't overlap and together cover the window, we don't need to double-buffer in that container, instead
we can double-buffer each child layer separately --- so we recursively call ApplyDoubleBuffering on the child layers.
When a container has children that overlap or that don't cover the container's visible rect (the latter case
probably can't happen in practice), we force it to have an intermediate surface.

This change fixes this bug because in normal browser windows the Web content layer double-buffers
2011-05-18 23:24:52 +12:00
Robert O'Callahan
106226c336 Bug 647560. Add support for compositing BasicLayers with OPERATOR_SOURCE. r=tnikkel
We'll need this for the improved backbuffer code in the next patch. When a layer tree's
leaf layers don't overlap and cover the window, the next patch will avoid double-buffering
by blitting those layers directly to the window. If the window has transparent parts
(e.g. with Aero Glass), we need to draw the layers for those transparent parts using
OPERATOR_SOURCE so that the alpha values in the window are reset.
2011-05-18 23:24:52 +12:00
Robert O'Callahan
aa1406e821 Bug 647560. Clean up MarkLeafLayersHidden and make it set the hidden state on container layers. r=tnikkel
Instead of doing tricks with the cliprect to prevent layer content from adding to aOpaqueRegion, pass an explicit flag to control that.
Mark a ContainerLayer hidden if all its children are hidden. This will need to be changed if/when we add layer properties
that result in a ContainerLayer drawing content even if it has no children.
2011-05-18 23:24:52 +12:00
Robert O'Callahan
29a9e91704 Bug 629866. Part 2: Make MarkLeafLayersHidden actually hide layers that aren't in the dirty region. Don't consider hidden layers when deciding whether double-buffering is needed. r=cjones 2011-05-18 23:24:52 +12:00
Mounir Lamouri
bb186ce906 Backout bug 629866 and bug 647560. 2011-05-17 11:44:17 +02:00
Robert O'Callahan
6711ec5260 Bug 647560. Remove unused MayHaveOverlappingOrTransparentLayers. r=tnikkel 2011-05-17 11:42:19 +12:00
Robert O'Callahan
5fd8253d5d Bug 647560. Cache temporary backbuffer surfaces. r=karlt 2011-05-17 11:42:11 +12:00
Robert O'Callahan
05f71ca7df Bug 647560. Create ApplyDoubleBuffering to recursively walk layer tree and implement double-buffering by setting mUseIntermediateSurface on ContainerLayers where necessary. r=tnikkel
The idea here is to do double-buffering just by setting mUseIntermediateSurface on ContainerLayers when needed. When
we need to double-buffer compositing of a layer tree, ApplyDoubleBuffering examines the root container layer. If the
child layers don't overlap and together cover the window, we don't need to double-buffer in that container, instead
we can double-buffer each child layer separately --- so we recursively call ApplyDoubleBuffering on the child layers.
When a container has children that overlap or that don't cover the container's visible rect (the latter case
probably can't happen in practice), we force it to have an intermediate surface.

This change fixes this bug because in normal browser windows the Web content layer double-buffers
2011-05-17 11:42:05 +12:00
Robert O'Callahan
3892879d39 Bug 647560. Add support for compositing BasicLayers with OPERATOR_SOURCE. r=tnikkel
We'll need this for the improved backbuffer code in the next patch. When a layer tree's
leaf layers don't overlap and cover the window, the next patch will avoid double-buffering
by blitting those layers directly to the window. If the window has transparent parts
(e.g. with Aero Glass), we need to draw the layers for those transparent parts using
OPERATOR_SOURCE so that the alpha values in the window are reset.
2011-05-17 11:41:57 +12:00
Robert O'Callahan
61a2b63221 Bug 647560. Clean up MarkLeafLayersHidden and make it set the hidden state on container layers. r=tnikkel
Instead of doing tricks with the cliprect to prevent layer content from adding to aOpaqueRegion, pass an explicit flag to control that.
Mark a ContainerLayer hidden if all its children are hidden. This will need to be changed if/when we add layer properties
that result in a ContainerLayer drawing content even if it has no children.
2011-05-17 11:41:48 +12:00
Robert O'Callahan
3ed42421bb Bug 629866. Part 2: Make MarkLeafLayersHidden actually hide layers that aren't in the dirty region. Don't consider hidden layers when deciding whether double-buffering is needed. r=cjones 2011-05-17 11:41:39 +12:00
Matt Woodrow
b13c72204c Bug 649417 - Check if BasicShadowableImageLayer has a current image before attempting to use it. r=cjones 2011-05-13 12:38:44 +12:00
Matt Woodrow
9f9df90122 Bug 649417 - Part 2 - Add a YUV option to SharedImage and use it to share YUV data across processes. r=cjones,joe 2011-04-21 16:38:39 +12:00
Matt Woodrow
fc21b7078a Bug 649417 - Part 1 - Create a SharedImage ipdl union and pass this to ShadowImageLayer::Swap . r=cjones 2011-04-21 11:21:56 +12:00
Oleg Romashin
9d04205210 Bug 610155 - Use SurfaceDescriptor for ImageLayer and CanvasLayer r=jones.chris.g 2011-04-20 14:45:57 -07:00
Daniel Holbert
73b32a98c5 Back out 0736b014d4a5 (Bug 610155) for breaking canvas reftests on android 2011-04-21 14:52:22 -07:00