Title: [93727] trunk/Source/WebCore
Revision
93727
Author
[email protected]
Date
2011-08-24 13:17:43 -0700 (Wed, 24 Aug 2011)

Log Message

[chromium] Root layer is not updated when only a portion of tile is updated
https://bugs.webkit.org/show_bug.cgi?id=66506

This only happened in the accelerated path which changes stencil state.
Incorrect stencil state was used to draw the root layer.

Reviewed by James Robinson.

Test: compositing/overflow/overflow-scroll.html (existing)

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (93726 => 93727)


--- trunk/Source/WebCore/ChangeLog	2011-08-24 20:16:45 UTC (rev 93726)
+++ trunk/Source/WebCore/ChangeLog	2011-08-24 20:17:43 UTC (rev 93727)
@@ -1,3 +1,20 @@
+2011-08-24  Alok Priyadarshi  <[email protected]>
+
+        [chromium] Root layer is not updated when only a portion of tile is updated
+        https://bugs.webkit.org/show_bug.cgi?id=66506
+
+        This only happened in the accelerated path which changes stencil state.
+        Incorrect stencil state was used to draw the root layer.
+
+        Reviewed by James Robinson.
+
+        Test: compositing/overflow/overflow-scroll.html (existing)
+
+        * platform/graphics/chromium/LayerRendererChromium.cpp:
+        (WebCore::LayerRendererChromium::drawLayersInternal):
+        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
+        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
+
 2011-08-24  Nate Chapin  <[email protected]>
 
         Fix an intermittent crash in EventSource, when a

Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp (93726 => 93727)


--- trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp	2011-08-24 20:16:45 UTC (rev 93726)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp	2011-08-24 20:17:43 UTC (rev 93727)
@@ -746,7 +746,7 @@
     // Bind the common vertex attributes used for drawing all the layers.
     m_sharedGeometry->prepareForDraw();
 
-    // FIXME: These calls can be made once, when the compositor context is initialized.
+    GLC(m_context.get(), m_context->disable(GraphicsContext3D::SCISSOR_TEST));
     GLC(m_context.get(), m_context->disable(GraphicsContext3D::DEPTH_TEST));
     GLC(m_context.get(), m_context->disable(GraphicsContext3D::CULL_FACE));
 

Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp (93726 => 93727)


--- trunk/Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp	2011-08-24 20:16:45 UTC (rev 93726)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp	2011-08-24 20:17:43 UTC (rev 93727)
@@ -178,7 +178,7 @@
     m_canvas->drawPicture(m_picture);
     m_canvas->restore();
     // Flush SKIA context so that all the rendered stuff appears on the texture.
-    m_skiaContext->flush(GrContext::kForceCurrentRenderTarget_FlushBit);
+    m_skiaContext->flush();
 
     // Unbind texture.
     context()->framebufferTexture2D(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::TEXTURE_2D, 0, 0);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to