Title: [132839] trunk
Revision
132839
Author
ju...@google.com
Date
2012-10-29 12:37:19 -0700 (Mon, 29 Oct 2012)

Log Message

[Chromium] flickering observed when copying 2D canvas to webGL texture
https://bugs.webkit.org/show_bug.cgi?id=100691

Reviewed by Stephen White.

Source/WebCore:

Added a flush to the webgl context after texture upload from an image
buffer to ensure proper graphics context synchronization with respect
to subsequent changes to the source image.

Tests: fast/canvas/webgl/canvas-2d-webgl-texture.html

* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::copyToPlatformTexture):

LayoutTests:

Modified test by adding a canvas draw imediately after webgl texture
upload in order to exercise graphics context synchronization between
the webGL and 2D canvas graphics contexts.

* fast/canvas/webgl/canvas-2d-webgl-texture.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (132838 => 132839)


--- trunk/LayoutTests/ChangeLog	2012-10-29 19:29:12 UTC (rev 132838)
+++ trunk/LayoutTests/ChangeLog	2012-10-29 19:37:19 UTC (rev 132839)
@@ -1,3 +1,16 @@
+2012-10-29  Justin Novosad  <ju...@google.com>
+
+        [Chromium] flickering observed when copying 2D canvas to webGL texture
+        https://bugs.webkit.org/show_bug.cgi?id=100691
+
+        Reviewed by Stephen White.
+
+        Modified test by adding a canvas draw imediately after webgl texture
+        upload in order to exercise graphics context synchronization between
+        the webGL and 2D canvas graphics contexts.
+
+        * fast/canvas/webgl/canvas-2d-webgl-texture.html:
+
 2012-10-29  Glenn Adams  <gl...@skynav.com>
        
         [CSSOM] Extraneous whitespace in CSSImportRule.cssText

Modified: trunk/LayoutTests/fast/canvas/webgl/canvas-2d-webgl-texture.html (132838 => 132839)


--- trunk/LayoutTests/fast/canvas/webgl/canvas-2d-webgl-texture.html	2012-10-29 19:29:12 UTC (rev 132838)
+++ trunk/LayoutTests/fast/canvas/webgl/canvas-2d-webgl-texture.html	2012-10-29 19:37:19 UTC (rev 132839)
@@ -30,6 +30,8 @@
   ctx.fillStyle = "rgb(0, 0, 200)";
   ctx.fillRect(0, 0, 256, 256);
   gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas2d);
+  ctx.fillStyle = "rgb(200, 0, 0)";
+  ctx.fillRect(0, 0, 256, 256);
 
   wtu.drawQuad(gl);
   wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0, 0, 200, 255], "Should have rendered blue.", 1);

Modified: trunk/Source/WebCore/ChangeLog (132838 => 132839)


--- trunk/Source/WebCore/ChangeLog	2012-10-29 19:29:12 UTC (rev 132838)
+++ trunk/Source/WebCore/ChangeLog	2012-10-29 19:37:19 UTC (rev 132839)
@@ -1,3 +1,19 @@
+2012-10-29  Justin Novosad  <ju...@google.com>
+
+        [Chromium] flickering observed when copying 2D canvas to webGL texture
+        https://bugs.webkit.org/show_bug.cgi?id=100691
+
+        Reviewed by Stephen White.
+
+        Added a flush to the webgl context after texture upload from an image
+        buffer to ensure proper graphics context synchronization with respect
+        to subsequent changes to the source image.
+
+        Tests: fast/canvas/webgl/canvas-2d-webgl-texture.html
+
+        * platform/graphics/skia/ImageBufferSkia.cpp:
+        (WebCore::ImageBuffer::copyToPlatformTexture):
+
 2012-10-29  Glenn Adams  <gl...@skynav.com>
 
         [CSSOM] Extraneous whitespace in CSSImportRule.cssText

Modified: trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp (132838 => 132839)


--- trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp	2012-10-29 19:29:12 UTC (rev 132838)
+++ trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp	2012-10-29 19:37:19 UTC (rev 132839)
@@ -194,6 +194,7 @@
 
     context.pixelStorei(Extensions3D::UNPACK_FLIP_Y_CHROMIUM, false);
     context.pixelStorei(Extensions3D::UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM, false);
+    context.flush();
     return true;
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to