Commit Graph

255 Commits

Author SHA1 Message Date
Chris Double
0965268b8a Bug 577843 - Scale videos at YCbCr conversion time - r=roc a=blocking2.0
--HG--
extra : rebase_source : ae011843fdd812dbeab7e5de0bf3b6029cccb3e5
2010-10-26 16:11:13 +13:00
Robert O'Callahan
24f17c94ae Bug 608636. Clip to transformed bounds of BasicContainerLayers when compositing their opacity groups back to the target surface. r=vlad,a=blocking 2010-11-12 14:43:42 +13:00
Robert O'Callahan
d224a4edaf Bug 579885. Part 2: Never use SOURCE to composite ThebesLayers into the target, just use OVER and assume cairo backends will optimize. r=vlad,a=blocking 2010-11-12 14:43:42 +13:00
Robert O'Callahan
6befdb5626 Bug 579985. Part 3.2: Remove gfxASurface::AreSimilarSurfacesSensitiveToContentType because it's effectively always true now. r=jrmuizel,a=blocking 2010-11-12 14:43:40 +13:00
Chris Jones
339106b788 Bug 562424: Switch IPDL interfaces to infallible TArray. r=bent a=blocking 2010-11-08 20:49:00 -06:00
Robert O'Callahan
26f24119f8 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
acb20a5fc5 Bug 609678 - Fix memory leak in SetBackingBuffer. r=cjones a=blocking-fennec 2010-11-05 09:37:40 -07:00
Chris Jones
71323d9d0b Bug 603885, part 8: Add logging for buffer creation and readback operations. r=roc 2010-11-05 02:17:07 -05:00
Chris Jones
5548cd55c7 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
958dbecd19 Bug 603885, part 6: Implement swap-and-readback. r=roc 2010-11-05 02:17:07 -05:00
Chris Jones
3070bf00d3 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
7ac34efa3a 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
f77d26e905 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
309019725a Fix --disable-libxul bustage from bug 602431 and bug 602428. a=bustage 2010-10-13 18:36:44 -05:00
Chris Jones
3314234fb5 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
9d4c7a5e0c Bug 602431, part 3: Add a ShadowContainerLayer base class and BasicShadowContainerLayer implementation. sr=roc 2010-10-13 17:55:45 -05:00
Chris Jones
57c58b918e Bug 602431, part 2: Add a ShadowColorLayer base class and BasicShadowColorLayer implementation. sr=roc 2010-10-13 17:55:45 -05:00
Chris Jones
65e40b3c52 Bug 604058: Shadowable layers might not have shadows. r=joe a=blocking-betaN 2010-10-13 14:22:17 -05:00
Benjamin Stover
026af3301e Bug 600908 Always retain shadowable layers r=cjones a=2.0b2+ 2010-10-11 11:36:20 -07:00
Chris Jones
374601de26 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
6bee72a35f 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
d4a32df6d8 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
30a25e1f73 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
e9e6c123e5 Bug 598265: Initialize BasicImageLayer::mSize. r=roc a=blocking-fennec 2010-09-21 01:57:25 -05:00
Chris Jones
d5d1794564 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
edffdd77c1 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
2d8c812a3a 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
166112f466 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
7c1181632c 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
0cb7bd0628 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
7e002c08ab 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
f5894e967e 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
7688c45243 Merge m-c --> cedar 2010-09-07 17:35:15 -05:00
Chris Jones
a2c93af9b1 Bug 590294, part 8: Implement resolution-scaled drawing for basic layers. r=roc 2010-09-03 15:10:46 -05:00
Chris Jones
f502883ffc 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
6480591e23 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
1ef9f416ce 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
dbb9a82fc2 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
f2ee7d2dd8 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
81e7d1c97a Bug 593248: Release old shmem surfaces on realloc. r=joe 2010-09-02 22:05:01 -05:00
Robert O'Callahan
d070f2c342 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
ef6a01f479 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
dc9e28789b Bug 579276. Part 11: Move ClipToRegion to gfxUtils. r=vlad 2010-09-03 14:31:42 +12:00
Robert O'Callahan
c4801219d7 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
be2d05f9a8 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
c06ae165fe 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
349f37cc97 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
b4c4c02965 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
03c4f01c8b 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
77a6b11872 Fix bustage from changeset 8c767b950381. a=bustage 2010-08-20 05:58:44 +02:00
Bas Schouten
cb632a9c1b Bug 588690 - Part 1: Expose ClearCachedResources on BasicLayerManagers. r=roc 2010-08-20 05:40:49 +02:00
Vladimir Vukicevic
99c28af205 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
b524227b49 b=574481; fix layers lifetime issues; part 4 - fix other layers; r=bas 2010-08-06 22:09:18 -07:00
Vladimir Vukicevic
78b092c544 b=580345; fix up some GLESv2 vs. desktop GL differences; r=joe 2010-07-28 14:24:09 -07:00
Robert O'Callahan
120f46d5e2 Bug 579262. Inherit FLAG_DESTINED_FOR_SCREEN into BasicLayer rendering. r=vlad 2010-07-24 21:37:17 +12:00
Chris Jones
d153e8e243 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
3ee53108c2 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
4cc19406c4 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
d72e903707 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
40a231016e 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
ad15c41672 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
509381a2b4 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
27b296ce6e b=575469; use CreateOffscreen in layers; r=bas 2010-07-18 22:01:14 -07:00
Robert O'Callahan
f7ac43fd89 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
6da468e0e8 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
306a6d44c0 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
4b75d1b16c 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
61b008df80 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
f7284fe424 b=573409 expire unused cached double-buffering back surfaces r=vlad sr=roc 2010-07-16 09:08:09 +12:00
Robert O'Callahan
1b38f406bd Bug 564991. Part 23: Introduce the concept of 'inactive' layers. r=mats,sr=dbaron 2010-07-16 09:08:05 +12:00
Matt Woodrow
2eeaed4ebb 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
5e872d086e 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
b3a05d5100 Bug 564991. Part 19: Cache the backbuffer surface for performance wins. r=vlad 2010-07-16 09:08:04 +12:00
Matt Woodrow
64934786f8 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
f63eab3242 Bug 564991. Part 15: Start retaining the contents of BasicLayers. r=mats 2010-07-16 09:08:03 +12:00
Robert O'Callahan
b12eec77e4 Bug 564991. Part 6: Make BasicLayers support retained ThebesLayer contents. r=cjones,sr=vlad 2010-03-04 10:37:04 +13:00
Oleg Romashin
2f5e014ed0 Bug 545632 - Add 16bpp format support enabler. r=jmuizelaar 2010-06-11 05:33:22 -04:00
Oleg Romashin
6747cc21c0 Backed out changeset 2959eddcd018, to fix oranges 2010-06-11 08:35:26 -04:00
Oleg Romashin
0c1e77aac6 Bug 545632 - Add 16bpp format support enabler. r=jmuizelaar
--HG--
extra : rebase_source : 8ddcebaa4f6418c65325b4374f7f9f5ab4ec377e
2010-06-11 05:33:22 -04:00
Vladimir Vukicevic
125f59871e b=562409; add GLContextProvider form EGL (patch from vlad/fred/romaxa); r=bas 2010-06-09 15:27:29 -07:00
Robert O'Callahan
3f30bb4186 Bug 586041. Part 2: refactor RemoveChild. r=bas 2010-06-01 11:32:05 +12:00
Robert O'Callahan
37a26c36a7 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
b32027fed6 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
01e9dabdad Backed out changeset b37bdb032fe7 2010-05-24 10:53:05 +12:00
Robert O'Callahan
0417d4868e 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
20c2e464f7 Backed out changeset efa8719a93d2 2010-05-21 16:34:23 +12:00
Robert O'Callahan
6391e1262a 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
87f96430ac Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan
d7e60623a4 Bug 547924. Paint <canvas> using EXTEND_PAD to prevent seams. r=vlad 2010-05-19 15:04:32 +12:00
Vladimir Vukicevic
e5d92d3d03 b=561168; convert canvas to use layers for rendering - followup #2; r=roc 2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
57c2111dfe b=561168; convert canvas to use layers for rendering - followup; r=roc 2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
b5ac042d49 b=561168; convert canvas to use layers for rendering; r=roc,bas 2010-05-17 21:04:22 -07:00
Robert O'Callahan
26569a71da 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
962d37b89b Bug 564993. Part 1: Remove CopyFrom API, it won't be used. r=Bas 2010-03-03 13:53:52 +13:00
Chris Pearce
fce92ab150 Bug 556889 - Honour video aspect ratio in layers rendering. r=roc 2010-04-27 20:53:44 +12:00
Chris Double
bc56aab89c 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
ef03b912fb Bug 551277 - Replace liboggplay YUV to RGB color conversion code - r=roc 2010-04-19 13:17:06 +12:00
Chris Pearce
9c85f50feb Bug 556889 - Backed out changeset 6f250c9b680b due to reftest failure on Linux. 2010-04-08 21:18:58 +12:00
Chris Pearce
8ae321bbc6 Bug 556889 - Honour video aspect ratio in layers rendering. r=roc 2010-04-08 20:16:02 +12:00
Chris Double
4d94fbf7a0 Bug 551277. Backed out changeset f9a11b9b2b9f 2010-04-06 18:10:02 +12:00
Chris Double
987e0e6294 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
fc6417c11a 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
6b6667800c 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
421aac51af Bug 538266. Part 2: add transform API to layer system. r=jrmuizel,sr=dbaron 2010-03-02 12:08:28 +13:00
Bas Schouten
cb26d1fc0e 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