Index: cc/direct_renderer.cc |
diff --git a/cc/direct_renderer.cc b/cc/direct_renderer.cc |
index 31f48e5f935be6f4e1fd88d49c5b8824067c417a..f9fb233671d17a9a8ecdd374a84be3bcdf8a9a12 100644 |
--- a/cc/direct_renderer.cc |
+++ b/cc/direct_renderer.cc |
@@ -240,8 +240,11 @@ void DirectRenderer::drawRenderPass(DrawingFrame& frame, const RenderPass* rende |
setScissorTestRect(moveScissorToWindowSpace(frame, renderPassScissor)); |
} |
- if (frame.currentRenderPass != frame.rootRenderPass || m_client->shouldClearRootRenderPass()) |
+ if (frame.currentRenderPass != frame.rootRenderPass || m_client->shouldClearRootRenderPass()) { |
+ if (!usingScissorAsOptimization) |
+ ensureScissorTestDisabled(); |
clearFramebuffer(frame); |
+ } |
const QuadList& quadList = renderPass->quad_list; |
for (QuadList::constBackToFrontIterator it = quadList.backToFrontBegin(); it != quadList.backToFrontEnd(); ++it) { |