Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Side by Side Diff: cc/software_renderer_unittest.cc

Issue 11649005: cc: Support anti-aliasing for solid color layers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and add DrawQuad::AntiAliasing struct. Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/software_renderer.h" 5 #include "cc/software_renderer.h"
6 6
7 #include "cc/compositor_frame_metadata.h" 7 #include "cc/compositor_frame_metadata.h"
8 #include "cc/quad_sink.h" 8 #include "cc/quad_sink.h"
9 #include "cc/render_pass.h" 9 #include "cc/render_pass.h"
10 #include "cc/render_pass_draw_quad.h" 10 #include "cc/render_pass_draw_quad.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 setViewportSize(outerSize); 76 setViewportSize(outerSize);
77 77
78 initializeRenderer(); 78 initializeRenderer();
79 79
80 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create(); 80 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create();
81 sharedQuadState->SetAll(gfx::Transform(), outerRect, outerRect, outerRect, f alse, 1.0); 81 sharedQuadState->SetAll(gfx::Transform(), outerRect, outerRect, outerRect, f alse, 1.0);
82 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1); 82 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1);
83 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create(); 83 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create();
84 rootRenderPass->SetNew(rootRenderPassId, outerRect, gfx::Rect(), gfx::Transf orm()); 84 rootRenderPass->SetNew(rootRenderPassId, outerRect, gfx::Rect(), gfx::Transf orm());
85 scoped_ptr<SolidColorDrawQuad> outerQuad = SolidColorDrawQuad::Create(); 85 scoped_ptr<SolidColorDrawQuad> outerQuad = SolidColorDrawQuad::Create();
86 outerQuad->SetNew(sharedQuadState.get(), outerRect, SK_ColorYELLOW); 86 outerQuad->SetNew(sharedQuadState.get(), outerRect, DrawQuad::AntiAliasing() , SK_ColorYELLOW);
87 scoped_ptr<SolidColorDrawQuad> innerQuad = SolidColorDrawQuad::Create(); 87 scoped_ptr<SolidColorDrawQuad> innerQuad = SolidColorDrawQuad::Create();
88 innerQuad->SetNew(sharedQuadState.get(), innerRect, SK_ColorCYAN); 88 innerQuad->SetNew(sharedQuadState.get(), innerRect, DrawQuad::AntiAliasing() , SK_ColorCYAN);
89 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>()); 89 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>());
90 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>()); 90 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>());
91 91
92 RenderPassList list; 92 RenderPassList list;
93 list.append(rootRenderPass.PassAs<RenderPass>()); 93 list.append(rootRenderPass.PassAs<RenderPass>());
94 renderer()->drawFrame(list); 94 renderer()->drawFrame(list);
95 95
96 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]); 96 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]);
97 renderer()->getFramebufferPixels(pixels.get(), outerRect); 97 renderer()->getFramebufferPixels(pixels.get(), outerRect);
98 98
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 resourceProvider()->setPixels(resourceCyan, reinterpret_cast<uint8_t*>(cyanP ixels.get()), gfx::Rect(gfx::Point(), innerSize), gfx::Rect(gfx::Point(), innerS ize), gfx::Vector2d()); 135 resourceProvider()->setPixels(resourceCyan, reinterpret_cast<uint8_t*>(cyanP ixels.get()), gfx::Rect(gfx::Point(), innerSize), gfx::Rect(gfx::Point(), innerS ize), gfx::Vector2d());
136 136
137 gfx::Rect rect = gfx::Rect(gfx::Point(), deviceViewportSize()); 137 gfx::Rect rect = gfx::Rect(gfx::Point(), deviceViewportSize());
138 138
139 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create(); 139 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create();
140 sharedQuadState->SetAll(gfx::Transform(), outerRect, outerRect, outerRect, f alse, 1.0); 140 sharedQuadState->SetAll(gfx::Transform(), outerRect, outerRect, outerRect, f alse, 1.0);
141 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1); 141 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1);
142 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create(); 142 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create();
143 rootRenderPass->SetNew(rootRenderPassId, gfx::Rect(gfx::Point(), deviceViewp ortSize()), gfx::Rect(), gfx::Transform()); 143 rootRenderPass->SetNew(rootRenderPassId, gfx::Rect(gfx::Point(), deviceViewp ortSize()), gfx::Rect(), gfx::Transform());
144 scoped_ptr<TileDrawQuad> outerQuad = TileDrawQuad::Create(); 144 scoped_ptr<TileDrawQuad> outerQuad = TileDrawQuad::Create();
145 outerQuad->SetNew(sharedQuadState.get(), outerRect, outerRect, resourceYello w, gfx::RectF(gfx::PointF(), outerSize), outerSize, false, false, false, false, false); 145 outerQuad->SetNew(sharedQuadState.get(), outerRect, outerRect, DrawQuad::Ant iAliasing(), resourceYellow, gfx::RectF(gfx::PointF(), outerSize), outerSize, fa lse);
146 scoped_ptr<TileDrawQuad> innerQuad = TileDrawQuad::Create(); 146 scoped_ptr<TileDrawQuad> innerQuad = TileDrawQuad::Create();
147 innerQuad->SetNew(sharedQuadState.get(), innerRect, innerRect, resourceCyan, gfx::RectF(gfx::PointF(), innerSize), innerSize, false, false, false, false, fa lse); 147 innerQuad->SetNew(sharedQuadState.get(), innerRect, innerRect, DrawQuad::Ant iAliasing(), resourceCyan, gfx::RectF(gfx::PointF(), innerSize), innerSize, fals e);
148 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>()); 148 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>());
149 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>()); 149 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>());
150 150
151 RenderPassList list; 151 RenderPassList list;
152 list.append(rootRenderPass.PassAs<RenderPass>()); 152 list.append(rootRenderPass.PassAs<RenderPass>());
153 renderer()->drawFrame(list); 153 renderer()->drawFrame(list);
154 154
155 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]); 155 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]);
156 renderer()->getFramebufferPixels(pixels.get(), outerRect); 156 renderer()->getFramebufferPixels(pixels.get(), outerRect);
157 157
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 // If we didn't clear, the borders should still be green. 200 // If we didn't clear, the borders should still be green.
201 EXPECT_EQ(SK_ColorGREEN, pixels[0]); 201 EXPECT_EQ(SK_ColorGREEN, pixels[0]);
202 EXPECT_EQ(SK_ColorGREEN, pixels[viewportPixels - 1]); 202 EXPECT_EQ(SK_ColorGREEN, pixels[viewportPixels - 1]);
203 203
204 EXPECT_EQ(SK_ColorMAGENTA, pixels[smallerRect.y() * viewportRect.width() + s mallerRect.x()]); 204 EXPECT_EQ(SK_ColorMAGENTA, pixels[smallerRect.y() * viewportRect.width() + s mallerRect.x()]);
205 EXPECT_EQ(SK_ColorMAGENTA, pixels[(smallerRect.bottom() - 1) * viewportRect. width() + smallerRect.right() - 1]); 205 EXPECT_EQ(SK_ColorMAGENTA, pixels[(smallerRect.bottom() - 1) * viewportRect. width() + smallerRect.right() - 1]);
206 } 206 }
207 207
208 } // namespace 208 } // namespace
209 } // namespace cc 209 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698