Commit Graph

200 Commits

Author SHA1 Message Date
Robert O'Callahan
669ff953e8 Bug 602200. Share code to compute effective transforms and opacity, and snap effective transforms. r=bas,sr=vlad,a=blocker 2010-11-08 22:06:15 +13:00
Alon Zakai
0eea5c252a Bug 609678 - Fix memory leak in SetBackingBuffer. r=cjones a=blocking-fennec 2010-11-05 09:37:40 -07:00
Chris Jones
cfafc2d132 Bug 603885, part 8: Add logging for buffer creation and readback operations. r=roc 2010-11-05 02:17:07 -05:00
Chris Jones
5d4e5b42c3 Bug 603885, part 7: Remove front-buffer pre-fill code that is now subsumed by swap-and-readback (which also gets the pre-fill off the critical path for repainting). r=roc 2010-11-05 02:17:07 -05:00
Chris Jones
288dc3e604 Bug 603885, part 6: Implement swap-and-readback. r=roc 2010-11-05 02:17:07 -05:00
Chris Jones
ec4a82019e Bug 603885, part 2: Set up the framework for swap-and-readback. r=roc sr=vlad 2010-11-05 02:17:07 -05:00
Chris Jones
db22ab9350 Bug 603885, part 1: Move separate a method decl/def and reindent a long block. r=roc 2010-11-05 02:17:07 -05:00
Robert O'Callahan
260e34f8ed Bug 593839. Part 2: Remove DESTINED_FOR_SCREEN flag now that it's no longer used. r=vlad a=blocking-betaN 2010-10-25 16:39:27 +02:00
Chris Jones
4b82fba0c3 Fix --disable-libxul bustage from bug 602431 and bug 602428. a=bustage 2010-10-13 18:36:44 -05:00
Chris Jones
57d3708463 Bug 602431, part 6: Honor shadow-layer attributes in the basic layers backend and take off the container-transform training wheels. r=roc 2010-10-13 17:55:45 -05:00
Chris Jones
72ebe49a58 Bug 602431, part 3: Add a ShadowContainerLayer base class and BasicShadowContainerLayer implementation. sr=roc 2010-10-13 17:55:45 -05:00
Chris Jones
0f138edde0 Bug 602431, part 2: Add a ShadowColorLayer base class and BasicShadowColorLayer implementation. sr=roc 2010-10-13 17:55:45 -05:00
Chris Jones
b51dfd9724 Bug 604058: Shadowable layers might not have shadows. r=joe a=blocking-betaN 2010-10-13 14:22:17 -05:00
Benjamin Stover
cc825b09f6 Bug 600908 Always retain shadowable layers r=cjones a=2.0b2+ 2010-10-11 11:36:20 -07:00
Chris Jones
678312b9e1 Bug 599359, part 2: When we allocate a new front/back buffer pair, pre-fill the new front buffer with what we painted into the back buffer to stabilize the first Swap(). r=vlad a=blocking-fennec 2010-09-28 17:05:30 -05:00
Chris Jones
33cc73ab7e Bug 599359, part 1: Fix a minor bug with previous Swap() implementation that was irrelevant in practice. r=vlad 2010-09-28 17:05:30 -05:00
Chris Jones
f8b4169a1c Bug 591555: Shadow layer resources are scoped to their PLayerParent, of which there may be many for one layer manager, so move resource management down into Shadow*Layer. r=joe sr=roc 2010-09-24 17:41:31 -05:00
Oleg Romashin
fc88947b5d Bug 598531 - Fennec Remote Layer rendering is slow on N900 (pixman hitting slow path). r=roc a=blocking-fennec 2010-09-23 20:09:00 -07:00
Chris Jones
3a1a617c6f Bug 598265: Initialize BasicImageLayer::mSize. r=roc a=blocking-fennec 2010-09-21 01:57:25 -05:00
Chris Jones
b5f4f77a8e Bug 593175, part 1: Request backing buffers with gfxContentType rather than gfxImageFormat. r=karl a=blocking-fennec 2010-09-16 16:24:17 -05:00
Robert O'Callahan
36f52dc8db Bug 584494. Avoid clipping in BasicThebesLayer when not necessary. r=cjones a2.0=blocking2.0:betaN 2010-09-17 12:29:52 -07:00
Oleg Romashin
fb56a869f7 Bug 596769 - ShadowLayers not expecting Layer create/destruction during transaction. r=jones.chris.g a=approval2.0 2010-09-15 21:49:31 -07:00
Chris Jones
242dbbc943 Bug 596542: Repainting a thebes layer with a non-1.0 resolution shouldn't (always) force buffer reallocs. r=roc 2010-09-15 16:03:13 -05:00
Chris Jones
c8b26707ee Bug 570625, part 9: When updating thebes layers, swap out back/front buffers and invalidate the newly-painted region on the old front buffer. r=roc sr=shaver 2010-09-14 00:23:08 -05:00
Chris Jones
8d2b6d00c9 Bug 570625, part 5: Mostly mechanically switch BasicShadowable/ShadowThebes over to the new SurfaceDescriptor API. r=roc 2010-09-14 00:23:08 -05:00
Chris Jones
95660d9348 Bug 570625, part 1: Only use back/front buffers for BasicThebesLayer and update back->front in the compositor process. r=roc sr=shaver 2010-09-14 00:23:08 -05:00
Chris Jones
ab37ed636b Bug 570625, part 0: Don't throw out buffers when scrolling with a resolution applied. r=roc 2010-09-14 00:23:08 -05:00
Chris Jones
9e23f35349 Merge m-c --> cedar 2010-09-07 17:35:15 -05:00
Chris Jones
29a74cf7e8 Bug 590294, part 8: Implement resolution-scaled drawing for basic layers. r=roc 2010-09-03 15:10:46 -05:00
Chris Jones
041882a123 Bug 590294, part 7: Add APIs for recording the resolution at which ThebesLayers were painted and for requesting resolution-scaled drawing for basic layers. r=roc sr=vlad 2010-09-03 15:10:46 -05:00
Chris Jones
2aaf1a0c12 Bug 590294, part 2: Add a ContainerLayer attribute FrameMetrics that stores relevant information from layout/ on the root layer. r=roc sr=vlad 2010-09-03 15:10:45 -05:00
Chris Jones
6e7a7cd71a Merge m-c --> cedar
--HG--
rename : layout/style/test/hover_helper.html => layout/style/test/chrome/hover_helper.html
rename : layout/style/test/test_hover.html => layout/style/test/chrome/test_hover.html
2010-09-03 14:07:55 -05:00
Joe Drew
3ef9ce1660 Bug 590841 - Add the ability for a DOM window to let us know when it's accelerated, and use that value in about:support. r=gavin sr=roc a=blocking2.0:beta6+ 2010-09-03 14:01:05 -04:00
Chris Jones
88720785f0 Followup to bug 570294: Need to use OPERATOR_SOURCE for copying surface->surface. r=roc 2010-09-02 23:14:12 -05:00
Chris Jones
ffd2e6087e Bug 593248: Release old shmem surfaces on realloc. r=joe 2010-09-02 22:05:01 -05:00
Robert O'Callahan
33df3b813d Bug 579276. Part 13: Use CONTENT_COLOR for temporary surface in nonretained path, if possible. r=cjones 2010-09-03 14:31:42 +12:00
Robert O'Callahan
faf8ba3044 Bug 579276. Part 12: Clip all drawing to the visible region on the nonretained path. r=cjones 2010-09-03 14:31:42 +12:00
Robert O'Callahan
fa118e17df Bug 579276. Part 11: Move ClipToRegion to gfxUtils. r=vlad 2010-09-03 14:31:42 +12:00
Robert O'Callahan
5cc76df7ce Bug 579276. Part 7: Don't retain transparent layers that would hurt text rendering. r=cjones 2010-09-02 21:18:41 +12:00
Robert O'Callahan
0356f8659e Bug 579276. Part 3: Change Set/IsOpaqueContent API to a more generic Get/SetContentFlags API. r=cjones,sr=vlad 2010-09-02 21:18:40 +12:00
Robert O'Callahan
122b1cde0f Bug 593361. Part 2. Don't bother trying to draw directly to the backbuffer instead of retaining ThebesLayer, if the backbuffer is transparent anyway. r=tnikkel
--HG--
extra : rebase_source : 4a8d5833d6fab79147389a7c2f49f8653e90b9c5
2010-09-06 15:02:43 +12:00
Robert O'Callahan
1e8c57404f Bug 593361. Part 1: Limit the region of a non-retained layer we repaint to the clip region of the destination buffer. r=tnikkel
--HG--
extra : rebase_source : 20bea1e114bffe61bb621e7e99757cccd9fc98a0
2010-09-06 15:00:10 +12:00
Chris Jones
f30d5c8a27 Bug 570620, part i: Implement ShadowLayer::Disconnect() for common-case shutdown, and ShadowableLayer::Disconnect() for emergency-case shutdown. r=vlad 2010-08-20 18:24:41 -05:00
Chris Jones
b59148a17a Bug 570620, part g: Fix bone-headed bugs with shadowable layers, remove unnecessary MOZ_LAYER_DECL_NAME()s, and have the "shadow layer manager" side keep a "shadow root" rather than setting the "real" root. r=vlad 2010-08-20 18:24:41 -05:00
Bas Schouten
76f1a10ae3 Fix bustage from changeset 8c767b950381. a=bustage 2010-08-20 05:58:44 +02:00
Bas Schouten
61add0e551 Bug 588690 - Part 1: Expose ClearCachedResources on BasicLayerManagers. r=roc 2010-08-20 05:40:49 +02:00
Vladimir Vukicevic
c44e0d0074 b=583838; add ANGLE/D3D WebGL support - part 2 - build EGL on windows and try to use it; r=bjacob 2010-08-06 22:09:18 -07:00
Vladimir Vukicevic
34ff738268 b=574481; fix layers lifetime issues; part 4 - fix other layers; r=bas 2010-08-06 22:09:18 -07:00
Vladimir Vukicevic
74195c1120 b=580345; fix up some GLESv2 vs. desktop GL differences; r=joe 2010-07-28 14:24:09 -07:00
Robert O'Callahan
348d1c7009 Bug 579262. Inherit FLAG_DESTINED_FOR_SCREEN into BasicLayer rendering. r=vlad 2010-07-24 21:37:17 +12:00
Chris Jones
2074213503 Bug 570294, part j: Publish BasicThebesLayer pixels to remote processes (slowly). r=roc
--HG--
extra : rebase_source : bac63c2b868fd002f9b27c6836aaed3f95c5316d
2010-07-21 16:17:33 -05:00
Chris Jones
67cc02d87a Bug 570294, part i: Publish BasicImageLayer pixels to remote processes (slowly). r=Bas
--HG--
extra : rebase_source : 6a5749fd41cc8181531b7ad89867be8736dbe63b
2010-07-21 16:17:33 -05:00
Chris Jones
f698a6df6e Bug 570294, part h: Publish BasicCanvasLayer pixels to remote processes (slowly). sr=vlad
--HG--
extra : rebase_source : c113259f24d6f1c43583c729b7e996be01ed35bc
2010-07-21 16:17:33 -05:00
Chris Jones
015c13454b Bug 570294, part g: Implement basic ShadowLayers and share basic layers with remote processes. r=Bas sr=vlad
--HG--
extra : rebase_source : aca1e9e2ebb49f000bbe5116c04145f8aff8ac03
2010-07-21 16:17:33 -05:00
Chris Jones
b35ebb5f66 Bug 573829, part 1: Refactor ThebesLayerBuffer in preparation for its use in the OGL layers backend. r=roc
--HG--
rename : gfx/layers/basic/ThebesLayerBuffer.cpp => gfx/layers/ThebesLayerBuffer.cpp
rename : gfx/layers/basic/ThebesLayerBuffer.h => gfx/layers/ThebesLayerBuffer.h
2010-07-21 13:06:33 -05:00
Chris Jones
544264704f Bug 567421, part 2: Implement Dump[Self](FILE*) and Log[Self]() methods for layers. r=roc 2010-07-21 13:06:33 -05:00
Chris Jones
0408499418 Bug 567421, part 1: Rename NS_* macros to MOZ_* and add LayerManager::Name() interface. r=roc 2010-07-21 13:06:33 -05:00
Vladimir Vukicevic
9735a3a8c3 b=575469; use CreateOffscreen in layers; r=bas 2010-07-18 22:01:14 -07:00
Robert O'Callahan
bdd3613dc1 Bug 564991. Part 41: When we clear our buffer, we need to redraw the entire visible region. r=cjones 2010-07-16 09:08:11 +12:00
Robert O'Callahan
5534e44e2a Bug 564991. Part 40: ThebesLayers painted with variable opacity can still be OPAQUE_CONTENT themselves. r=bas 2010-07-16 09:08:11 +12:00
Robert O'Callahan
e98a518e3c Bug 564991. Part 34: Make sure that ThebesLayerBuffers are always allocated as similar surfaces to the widget surface, whenever possible. r=cjones 2010-07-16 09:08:10 +12:00
Robert O'Callahan
da8eac7e0e Bug 564991. Part 32: Fix assertion in BasicThebesLayer; it's entirely possible that we need to invalidate an area, but the actual visible region is empty so there's no context to draw to. r=cjones 2010-07-16 09:08:10 +12:00
Robert O'Callahan
d13596f552 Bug 564991. Part 30: Skip clearing our ThebesLayerBuffer surface if we just created it. r=cjones 2010-07-16 09:08:09 +12:00
Karl Tomlinson
9bb3ceb7e1 b=573409 expire unused cached double-buffering back surfaces r=vlad sr=roc 2010-07-16 09:08:09 +12:00
Robert O'Callahan
d09c39d0a9 Bug 564991. Part 23: Introduce the concept of 'inactive' layers. r=mats,sr=dbaron 2010-07-16 09:08:05 +12:00
Matt Woodrow
0dc19c1c41 Bug 564991. Part 21: Avoid double-buffering if we're only going to paint one layer. r=vlad 2010-07-16 09:08:05 +12:00
Matt Woodrow
3d8d34ccf2 Bug 564991. Part 20: Performance win by avoiding PushGroup for single-layer opacity. r=vlad 2010-07-16 09:08:04 +12:00
Robert O'Callahan
96549cb43a Bug 564991. Part 19: Cache the backbuffer surface for performance wins. r=vlad 2010-07-16 09:08:04 +12:00
Matt Woodrow
b9bb858a55 Bug 564991. Part 18: Move double-buffering into the layer manager. r=jrmuizel,sr=vlad 2010-07-16 09:08:04 +12:00
Robert O'Callahan
63ec5e619c Bug 564991. Part 15: Start retaining the contents of BasicLayers. r=mats 2010-07-16 09:08:03 +12:00
Robert O'Callahan
8442c7897c Bug 564991. Part 6: Make BasicLayers support retained ThebesLayer contents. r=cjones,sr=vlad 2010-03-04 10:37:04 +13:00
Oleg Romashin
c1ec97595b Bug 545632 - Add 16bpp format support enabler. r=jmuizelaar 2010-06-11 05:33:22 -04:00
Oleg Romashin
ff064189d9 Backed out changeset 2959eddcd018, to fix oranges 2010-06-11 08:35:26 -04:00
Oleg Romashin
cfe4ce6dd8 Bug 545632 - Add 16bpp format support enabler. r=jmuizelaar
--HG--
extra : rebase_source : 8ddcebaa4f6418c65325b4374f7f9f5ab4ec377e
2010-06-11 05:33:22 -04:00
Vladimir Vukicevic
85aecff85c b=562409; add GLContextProvider form EGL (patch from vlad/fred/romaxa); r=bas 2010-06-09 15:27:29 -07:00
Robert O'Callahan
a66b969df2 Bug 586041. Part 2: refactor RemoveChild. r=bas 2010-06-01 11:32:05 +12:00
Robert O'Callahan
17b78218c8 Bug 568041. Add user-data API and GetRoot to LayerManager. Move mVisibleRegion into Layer. r=bas,sr=vlad 2010-06-01 11:29:37 +12:00
Robert O'Callahan
5cb6f06477 Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan
491e959191 Backed out changeset b37bdb032fe7 2010-05-24 10:53:05 +12:00
Robert O'Callahan
f3c689bd37 Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan
6709a65d60 Backed out changeset efa8719a93d2 2010-05-21 16:34:23 +12:00
Robert O'Callahan
ddda37f6c8 Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan
ed549b0dfb Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan
582ab69719 Bug 547924. Paint <canvas> using EXTEND_PAD to prevent seams. r=vlad 2010-05-19 15:04:32 +12:00
Vladimir Vukicevic
e80faabc40 b=561168; convert canvas to use layers for rendering - followup #2; r=roc 2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
a1121cc3a2 b=561168; convert canvas to use layers for rendering - followup; r=roc 2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
b99bb96c47 b=561168; convert canvas to use layers for rendering; r=roc,bas 2010-05-17 21:04:22 -07:00
Robert O'Callahan
74823b00ed Bug 561959. Implement ColorLayer, which paints a solid color into its layer. r=bas,sr=vlad 2010-05-13 12:56:11 +12:00
Robert O'Callahan
d7d6f2ce93 Bug 564993. Part 1: Remove CopyFrom API, it won't be used. r=Bas 2010-03-03 13:53:52 +13:00
Chris Pearce
3841ce0fd3 Bug 556889 - Honour video aspect ratio in layers rendering. r=roc 2010-04-27 20:53:44 +12:00
Chris Double
bce74d4343 Bug 551378 - Implement 4:4:4 colorspace conversion routine for YCbCr layers code - r=roc 2010-04-21 15:05:34 +12:00
Chris Double
39352b97f4 Bug 551277 - Replace liboggplay YUV to RGB color conversion code - r=roc 2010-04-19 13:17:06 +12:00
Chris Pearce
bea72dd465 Bug 556889 - Backed out changeset 6f250c9b680b due to reftest failure on Linux. 2010-04-08 21:18:58 +12:00
Chris Pearce
56599ba7fa Bug 556889 - Honour video aspect ratio in layers rendering. r=roc 2010-04-08 20:16:02 +12:00
Chris Double
37b2e3b033 Bug 551277. Backed out changeset f9a11b9b2b9f 2010-04-06 18:10:02 +12:00
Chris Double
e762926f9d Bug 551277 - Implement software YCbCr conversion in layers, replacing liboggplay color conversion code - r=roc
--HG--
extra : rebase_source : 53b2c194aa6eb75a4751efdd83f066d3aeadf5d7
2010-04-06 12:07:39 +12:00
Bas Schouten
fc93216036 Bug 556029: Add the ability to detect which layers backend is used. r=roc 2010-03-30 20:58:37 +02:00
Robert O'Callahan
686b3c0470 Bug 538323. Part 1: create ImageLayers and associated API for displaying pixel-buffers in various formats. r=jrmuizel,sr=dbaron 2010-03-02 12:09:35 +13:00
Robert O'Callahan
ceb172a0d8 Bug 538266. Part 2: add transform API to layer system. r=jrmuizel,sr=dbaron 2010-03-02 12:08:28 +13:00
Bas Schouten
51c74f7eb9 Bug 550846: Restructure layers to use different directories for different backends. r=roc,ted
--HG--
rename : gfx/layers/BasicLayers.cpp => gfx/layers/basic/BasicLayers.cpp
rename : gfx/layers/BasicLayers.h => gfx/layers/basic/BasicLayers.h
2010-03-14 18:30:40 +01:00