From 02cf9c842d408d26507b8f40d2e18a8b5c9bbc74 Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Tue, 25 Feb 2014 18:49:33 +0100 Subject: Handle CheckerboardDrawQuads in DelegatedFrameNode Change-Id: I66541842650af4a2cc50cd0443eacde510df566f Reviewed-by: Jocelyn Turcotte --- src/core/delegated_frame_node.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp index 97a7066bc..d704bf234 100644 --- a/src/core/delegated_frame_node.cpp +++ b/src/core/delegated_frame_node.cpp @@ -58,6 +58,7 @@ #include "base/message_loop/message_loop.h" #include "base/bind.h" #include "cc/output/delegated_frame_data.h" +#include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/draw_quad.h" #include "cc/quads/render_pass_draw_quad.h" #include "cc/quads/solid_color_draw_quad.h" @@ -394,7 +395,17 @@ void DelegatedFrameNode::commit(DelegatedFrameNodeData* data, cc::ReturnedResour } switch (quad->material) { - case cc::DrawQuad::RENDER_PASS: { + case cc::DrawQuad::CHECKERBOARD: { + const cc::CheckerboardDrawQuad *cbquad = cc::CheckerboardDrawQuad::MaterialCast(quad); + QSGRenderContext *sgrc = QQuickWindowPrivate::get(m_window)->context; + QSGRectangleNode *rectangleNode = sgrc->sceneGraphContext()->createRectangleNode(); + + rectangleNode->setRect(toQt(quad->rect)); + rectangleNode->setColor(toQt(cbquad->color)); + rectangleNode->update(); + currentLayerChain->appendChildNode(rectangleNode); + break; + } case cc::DrawQuad::RENDER_PASS: { const cc::RenderPassDrawQuad *renderPassQuad = cc::RenderPassDrawQuad::MaterialCast(quad); QSGTexture *texture = findRenderPassTexture(renderPassQuad->render_pass_id, m_renderPassTextures).data(); // cc::GLRenderer::DrawRenderPassQuad silently ignores missing render passes. -- cgit v1.2.3