Changeset 107120 in webkit


Ignore:
Timestamp:
Feb 8, 2012 12:35:06 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[chromium] Disable root layer clears on release builds.
https://bugs.webkit.org/show_bug.cgi?id=77478

Patch by Jonathan Backer <backer@chromium.org> on 2012-02-08
Reviewed by James Robinson.

Source/WebCore:

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::clearRenderSurface):
(WebCore::LayerRendererChromium::drawRenderPass):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):

LayoutTests:

  • platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
  • platform/chromium-gpu-linux/media/video-zoom-expected.png:
  • platform/chromium-linux/compositing/direct-image-compositing-expected.png:
  • platform/chromium-linux/compositing/geometry/ancestor-overflow-change-expected.png:
  • platform/chromium-linux/compositing/geometry/fixed-in-composited-expected.png:
  • platform/chromium-linux/compositing/geometry/tall-page-composited-expected.png:
  • platform/chromium-linux/compositing/masks/masked-ancestor-expected.png:
  • platform/chromium-linux/compositing/masks/multiple-masks-expected.png:
  • platform/chromium-linux/compositing/masks/simple-composited-mask-expected.png:
  • platform/chromium-linux/compositing/scaling/tiled-layer-recursion-expected.png:
  • platform/chromium-linux/platform/chromium/compositing/layout-width-change-expected.png:
Location:
trunk
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r107118 r107120  
     12012-02-08  Jonathan Backer  <backer@chromium.org>
     2
     3        [chromium] Disable root layer clears on release builds.
     4        https://bugs.webkit.org/show_bug.cgi?id=77478
     5
     6        Reviewed by James Robinson.
     7
     8        * platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
     9        * platform/chromium-gpu-linux/media/video-zoom-expected.png:
     10        * platform/chromium-linux/compositing/direct-image-compositing-expected.png:
     11        * platform/chromium-linux/compositing/geometry/ancestor-overflow-change-expected.png:
     12        * platform/chromium-linux/compositing/geometry/fixed-in-composited-expected.png:
     13        * platform/chromium-linux/compositing/geometry/tall-page-composited-expected.png:
     14        * platform/chromium-linux/compositing/masks/masked-ancestor-expected.png:
     15        * platform/chromium-linux/compositing/masks/multiple-masks-expected.png:
     16        * platform/chromium-linux/compositing/masks/simple-composited-mask-expected.png:
     17        * platform/chromium-linux/compositing/scaling/tiled-layer-recursion-expected.png:
     18        * platform/chromium-linux/platform/chromium/compositing/layout-width-change-expected.png:
     19
    1202012-02-07  Andy Estes  <aestes@apple.com>
    221
  • trunk/Source/WebCore/ChangeLog

    r107119 r107120  
     12012-02-08  Jonathan Backer  <backer@chromium.org>
     2
     3        [chromium] Disable root layer clears on release builds.
     4        https://bugs.webkit.org/show_bug.cgi?id=77478
     5
     6        Reviewed by James Robinson.
     7
     8        * platform/graphics/chromium/LayerRendererChromium.cpp:
     9        (WebCore::LayerRendererChromium::clearRenderSurface):
     10        (WebCore::LayerRendererChromium::drawRenderPass):
     11        * platform/graphics/chromium/LayerRendererChromium.h:
     12        (LayerRendererChromium):
     13
    1142012-02-08  Anders Carlsson  <andersca@apple.com>
    215
  • trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp

    r106607 r107120  
    307307}
    308308
    309 void LayerRendererChromium::clearSurfaceForDebug(CCRenderSurface* renderSurface, CCRenderSurface* rootRenderSurface, const FloatRect& surfaceDamageRect)
    310 {
    311     // Non-root layers should clear their entire contents to transparent. The root layer
     309void LayerRendererChromium::clearRenderSurface(CCRenderSurface* renderSurface, CCRenderSurface* rootRenderSurface, const FloatRect& surfaceDamageRect)
     310{
     311    // Non-root layers should clear their entire contents to transparent. On DEBUG builds, the root layer
    312312    // is cleared to blue to easily see regions that were not drawn on the screen. If we
    313313    // are using partial swap / scissor optimization, then the surface should only
     
    325325        GLC(m_context.get(), m_context->disable(GraphicsContext3D::SCISSOR_TEST));
    326326
    327     m_context->clear(GraphicsContext3D::COLOR_BUFFER_BIT);
     327#if defined(NDEBUG)
     328    if (renderSurface != rootRenderSurface)
     329#endif
     330        m_context->clear(GraphicsContext3D::COLOR_BUFFER_BIT);
     331
    328332    GLC(m_context.get(), m_context->enable(GraphicsContext3D::SCISSOR_TEST));
    329333}
     
    375379        return;
    376380
    377     // FIXME: eventually we should place this under a debug flag.
    378     clearSurfaceForDebug(renderSurface, m_defaultRenderSurface, renderPass->surfaceDamageRect());
     381    clearRenderSurface(renderSurface, m_defaultRenderSurface, renderPass->surfaceDamageRect());
    379382
    380383    const CCQuadList& quadList = renderPass->quadList();
  • trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h

    r106601 r107120  
    174174
    175175    bool useRenderSurface(CCRenderSurface*);
    176     void clearSurfaceForDebug(CCRenderSurface*, CCRenderSurface* rootRenderSurface, const FloatRect& surfaceDamageRect);
     176    void clearRenderSurface(CCRenderSurface*, CCRenderSurface* rootRenderSurface, const FloatRect& surfaceDamageRect);
    177177
    178178    void releaseRenderSurfaceTextures();
Note: See TracChangeset for help on using the changeset viewer.