Title: [146607] trunk/Source/WebCore
Revision
146607
Author
[email protected]
Date
2013-03-22 07:28:56 -0700 (Fri, 22 Mar 2013)

Log Message

[EFL][WebGL] Optimize AlphaOp for HTMLVideoElement input.
https://bugs.webkit.org/show_bug.cgi?id=113049

Patch by Kondapally Kalyan <[email protected]> on 2013-03-22
Reviewed by Kenneth Rohde Christiansen.

Covered by existing tests.

Changeset 137397 implemented optimisation to avoid any
unnecessary Unmultiply or Premultiply operation in unpack/pack
provided the Image source is from HTMLVideoElement. This patch
enables the same for EFL port.

* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (146606 => 146607)


--- trunk/Source/WebCore/ChangeLog	2013-03-22 14:27:46 UTC (rev 146606)
+++ trunk/Source/WebCore/ChangeLog	2013-03-22 14:28:56 UTC (rev 146607)
@@ -1,3 +1,20 @@
+2013-03-22  Kondapally Kalyan  <[email protected]>
+
+        [EFL][WebGL] Optimize AlphaOp for HTMLVideoElement input.
+        https://bugs.webkit.org/show_bug.cgi?id=113049
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Covered by existing tests.
+
+        Changeset 137397 implemented optimisation to avoid any
+        unnecessary Unmultiply or Premultiply operation in unpack/pack
+        provided the Image source is from HTMLVideoElement. This patch
+        enables the same for EFL port.
+
+        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
+        (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
+
 2013-03-22  Tommy Widenflycht  <[email protected]>
 
         Clean up the speech recognintion API

Modified: trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp (146606 => 146607)


--- trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp	2013-03-22 14:27:46 UTC (rev 146606)
+++ trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp	2013-03-22 14:28:56 UTC (rev 146607)
@@ -268,8 +268,11 @@
     } else {
         NativeImageCairo* nativeImage = m_image->nativeImageForCurrentFrame();
         m_imageSurface = (nativeImage) ? nativeImage->surface() : 0;
-
-        if (!premultiplyAlpha)
+        // 1. For texImage2D with HTMLVideoElment input, assume no PremultiplyAlpha had been applied and the alpha value is 0xFF for each pixel,
+        // which is true at present and may be changed in the future and needs adjustment accordingly.
+        // 2. For texImage2D with HTMLCanvasElement input in which Alpha is already Premultiplied in this port,
+        // do AlphaDoUnmultiply if UNPACK_PREMULTIPLY_ALPHA_WEBGL is set to false.
+        if (!premultiplyAlpha && m_imageHtmlDomSource != HtmlDomVideo)
             m_alphaOp = AlphaDoUnmultiply;
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to