RESOLVED FIXED 110762
[Texmap] TextureMapper is too eager to use intermediate surfaces.
https://bugs.webkit.org/show_bug.cgi?id=110762
Summary [Texmap] TextureMapper is too eager to use intermediate surfaces.
Noam Rosenthal
Reported 2013-02-25 08:42:21 PST
[Texmap] TextureMapper is too eager to use intermediate surfaces.
Attachments
Patch (79.51 KB, patch)
2013-02-25 09:09 PST, Noam Rosenthal
no flags
Patch (80.13 KB, patch)
2013-02-26 00:54 PST, Noam Rosenthal
no flags
Patch (80.68 KB, patch)
2013-02-26 01:14 PST, Noam Rosenthal
no flags
Patch (81.35 KB, patch)
2013-02-26 02:08 PST, Noam Rosenthal
no flags
Patch (82.95 KB, patch)
2013-02-26 04:57 PST, Noam Rosenthal
no flags
Patch (83.04 KB, patch)
2013-02-26 08:02 PST, Noam Rosenthal
no flags
Patch (83.06 KB, patch)
2013-02-26 12:51 PST, Noam Rosenthal
no flags
Patch (83.03 KB, patch)
2013-02-26 23:41 PST, Noam Rosenthal
no flags
Patch (83.12 KB, patch)
2013-02-27 01:45 PST, Noam Rosenthal
no flags
Noam Rosenthal
Comment 1 2013-02-25 09:09:58 PST
EFL EWS Bot
Comment 2 2013-02-25 09:15:36 PST
Early Warning System Bot
Comment 3 2013-02-25 09:17:05 PST
WebKit Review Bot
Comment 4 2013-02-25 09:57:41 PST
Comment on attachment 190071 [details] Patch Attachment 190071 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/16744396 New failing tests: platform/chromium/virtual/softwarecompositing/overlap-blending/children-opacity-huge.html compositing/overlap-blending/children-opacity-no-overlap.html platform/chromium/virtual/softwarecompositing/overlap-blending/reflection-opacity-huge.html compositing/overlap-blending/reflection-opacity-huge.html compositing/overlap-blending/children-opacity-huge.html
Build Bot
Comment 5 2013-02-25 11:28:52 PST
Comment on attachment 190071 [details] Patch Attachment 190071 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/16750430 New failing tests: compositing/overlap-blending/children-opacity-huge.html compositing/overlap-blending/reflection-opacity-huge.html
Build Bot
Comment 6 2013-02-25 11:31:30 PST
Comment on attachment 190071 [details] Patch Attachment 190071 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://queues.webkit.org/results/16746467 New failing tests: compositing/overlap-blending/reflection-opacity-huge.html compositing/overlap-blending/children-opacity-huge.html
Noam Rosenthal
Comment 7 2013-02-26 00:54:18 PST
EFL EWS Bot
Comment 8 2013-02-26 01:11:28 PST
Noam Rosenthal
Comment 9 2013-02-26 01:14:02 PST
Noam Rosenthal
Comment 10 2013-02-26 02:08:27 PST
Build Bot
Comment 11 2013-02-26 03:23:49 PST
Comment on attachment 190244 [details] Patch Attachment 190244 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-commit-queue.appspot.com/results/16760782 New failing tests: compositing/overlap-blending/reflection-opacity-huge.html
Build Bot
Comment 12 2013-02-26 04:05:18 PST
Comment on attachment 190244 [details] Patch Attachment 190244 [details] did not pass mac-ews (mac): Output: http://webkit-commit-queue.appspot.com/results/16772020 New failing tests: compositing/overlap-blending/reflection-opacity-huge.html
Noam Rosenthal
Comment 13 2013-02-26 04:57:35 PST
Kenneth Rohde Christiansen
Comment 14 2013-02-26 05:29:32 PST
Comment on attachment 190262 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=190262&action=review > Source/WebCore/ChangeLog:17 > + and "non overlapping" regions. The non-overlapping regions are painted directly, while the overlapping > + regions are tiled to smaller rectangles painted using an intermediate surface. These are overlapping, transparent regions?
Noam Rosenthal
Comment 15 2013-02-26 05:32:50 PST
(In reply to comment #14) > (From update of attachment 190262 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=190262&action=review > > > Source/WebCore/ChangeLog:17 > > + and "non overlapping" regions. The non-overlapping regions are painted directly, while the overlapping > > + regions are tiled to smaller rectangles painted using an intermediate surface. > > These are overlapping, transparent regions? Overlapping regions that need to be blended to a surface before opacity/masks/filters are applied. E.g. a parent with opacity and two overlapping children that are not necessarily transparent. See LayoutTests/reflections/reflection-opacity.html for example.
Kenneth Rohde Christiansen
Comment 16 2013-02-26 07:01:55 PST
Comment on attachment 190262 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=190262&action=review > Source/WebCore/ChangeLog:3 > + [Texmap] TextureMapper is too eager to use intermediate surfaces. No dot please. > Source/WebCore/ChangeLog:12 > + target surface with the layer's opacity and mask. > + This would make it so that (1) surfaces are created even when they're not needed, i.e. when there Add a newline before this (good description though!) > Source/WebCore/ChangeLog:74 > + (CoordinatedBackingStore): > + Removed the "mask" parameter from TextureMapperPlatformLayer and overrides. a why would be nice (or refer to the description below) > Source/WebCore/platform/graphics/texmap/TextureMapper.h:186 > TextDrawingModeFlags m_textDrawingMode; > OwnPtr<BitmapTexturePool> m_texturePool; > AccelerationMode m_accelerationMode; > + bool m_maskMode; maybe it should be called m_isMaskMode as all the other m_ ...Mode are enums > Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:254 > -void TextureMapperLayer::paintRecursive(const TextureMapperPaintOptions& options) > +static void resolveOverlaps(Region& overlapRegion, Region& nonOverlapRegion, Region newRegion) > { wouldnt it make sense to have output values after input? maybe s/newRegion/sourceRegion/ > Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:317 > + if (!alwaysResolveSelfOverlap && shouldBlend()) { two spaces before && :-)
Noam Rosenthal
Comment 17 2013-02-26 08:02:54 PST
Allan Sandfeld Jensen
Comment 18 2013-02-26 11:32:05 PST
Comment on attachment 190285 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=190285&action=review > Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:346 > + const static int maxRectDimension = 2000; Could this be moved to a global constant, or tied to the texture dimensions defined for GL and ImageBuffer TextureMapper?
Noam Rosenthal
Comment 19 2013-02-26 12:51:04 PST
WebKit Review Bot
Comment 20 2013-02-26 15:43:23 PST
Comment on attachment 190343 [details] Patch Attachment 190343 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/16784004 New failing tests: compositing/overlap-blending/children-opacity-no-overlap.html platform/chromium/virtual/softwarecompositing/overlap-blending/reflection-opacity-huge.html compositing/overlap-blending/children-opacity-huge.html
Noam Rosenthal
Comment 21 2013-02-26 23:41:21 PST
WebKit Review Bot
Comment 22 2013-02-27 01:41:12 PST
Comment on attachment 190453 [details] Patch Attachment 190453 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/16823048 New failing tests: platform/chromium/virtual/softwarecompositing/overlap-blending/reflection-opacity-huge.html
Noam Rosenthal
Comment 23 2013-02-27 01:45:41 PST
Allan Sandfeld Jensen
Comment 24 2013-02-27 08:05:48 PST
Comment on attachment 190467 [details] Patch r=me
WebKit Review Bot
Comment 25 2013-02-27 08:18:12 PST
Comment on attachment 190467 [details] Patch Clearing flags on attachment: 190467 Committed r144190: <http://trac.webkit.org/changeset/144190>
WebKit Review Bot
Comment 26 2013-02-27 08:18:20 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.