[Webkit-unassigned] [Bug 113732] [Texmap] Hierarchy of layers with opacity may result in wrong blending.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 9 05:35:23 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=113732





--- Comment #6 from Bruno Abinader <bruno.abinader at basyskom.com>  2013-04-09 05:33:37 PST ---
(In reply to comment #5)
> Created an attachment (id=196637)
 --> (https://bugs.webkit.org/attachment.cgi?id=196637&action=review) [details]
> Much simplified test case

No'am, I haven't noticed any issues with your testcase, at least not on EFL port. I have a fix for the surface positioning issue (see below), however opacity blending results are still wrong.

diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
index 5911513..70c98be 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
@@ -412,7 +412,10 @@ void TextureMapperLayer::paintWithIntermediateSurface(const TextureMapperPaintOp
         mainSurface = replicaSurface;
     }

-    commitSurface(options, mainSurface, rect, options.opacity);
+    // Offset needs to be reset when committing to surface.
+    TextureMapperPaintOptions surfaceOptions(options);
+    surfaceOptions.offset = IntSize();
+    commitSurface(surfaceOptions, mainSurface, rect, options.opacity);
 }

 void TextureMapperLayer::paintRecursive(const TextureMapperPaintOptions& options)

Can you please test this on your environment to see if it works? I'll attach it as a patch to make it easy to apply.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list