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

Unified Diff: cc/gl_renderer_pixeltest.cc

Issue 11649005: cc: Support anti-aliasing for solid color layers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: per edge anti-aliasing Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: cc/gl_renderer_pixeltest.cc
diff --git a/cc/gl_renderer_pixeltest.cc b/cc/gl_renderer_pixeltest.cc
index b444ee03ed7810c6d24f40b3f6f17a0cebafd51c..753d16093e73b2a38c13457c45a515ad449f9e56 100644
--- a/cc/gl_renderer_pixeltest.cc
+++ b/cc/gl_renderer_pixeltest.cc
@@ -134,7 +134,8 @@ TEST_F(GLRendererPixelTest, simpleGreenRect) {
CreateTestSharedQuadState(content_to_target_transform, rect);
scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
- color_quad->SetNew(shared_state.get(), rect, SK_ColorGREEN);
+ color_quad->SetNew(shared_state.get(), rect, SK_ColorGREEN,
+ false, false, false, false);
pass->quad_list.append(color_quad.PassAs<DrawQuad>());
@@ -166,9 +167,11 @@ TEST_F(GLRendererPixelTest, RenderPassChangesSize) {
CreateTestSharedQuadState(content_to_target_transform, viewport_rect);
scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
- blue->SetNew(shared_state.get(), gfx::Rect(0, 0, 100, 200), SK_ColorBLUE);
+ blue->SetNew(shared_state.get(), gfx::Rect(0, 0, 100, 200), SK_ColorBLUE,
+ false, false, false, false);
scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
- yellow->SetNew(shared_state.get(), gfx::Rect(100, 0, 100, 200), SK_ColorYELLOW);
+ yellow->SetNew(shared_state.get(), gfx::Rect(100, 0, 100, 200), SK_ColorYELLOW,
+ false, false, false, false);
child_pass->quad_list.append(blue.PassAs<DrawQuad>());
child_pass->quad_list.append(yellow.PassAs<DrawQuad>());
@@ -195,6 +198,56 @@ TEST_F(GLRendererPixelTest, RenderPassChangesSize) {
EXPECT_TRUE(PixelsMatchReference(
FilePath(FILE_PATH_LITERAL("blue_yellow.png")), viewport_rect));
}
+
+TEST_F(GLRendererPixelTest, AntiAliasing) {
+ gfx::Rect rect(0, 0, 200, 200);
+
+ RenderPass::Id id(1, 1);
+ scoped_ptr<RenderPass> pass = CreateTestRenderPass(id, rect);
+
+ gfx::Transform red_content_to_target_transform;
+ red_content_to_target_transform.Rotate(10);
+ scoped_ptr<SharedQuadState> red_shared_state =
+ CreateTestSharedQuadState(red_content_to_target_transform, rect);
+
+ scoped_ptr<SolidColorDrawQuad> red = SolidColorDrawQuad::Create();
+ red->SetNew(red_shared_state.get(), rect, SK_ColorRED,
+ true, true, true, true);
+
+ pass->quad_list.append(red.PassAs<DrawQuad>());
+
+ gfx::Transform yellow_content_to_target_transform;
+ yellow_content_to_target_transform.Rotate(5);
+ scoped_ptr<SharedQuadState> yellow_shared_state =
+ CreateTestSharedQuadState(yellow_content_to_target_transform, rect);
+
+ scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ yellow->SetNew(yellow_shared_state.get(), rect, SK_ColorYELLOW,
+ true, true, true, true);
+
+ pass->quad_list.append(yellow.PassAs<DrawQuad>());
+
+ gfx::Transform blue_content_to_target_transform;
+ scoped_ptr<SharedQuadState> blue_shared_state =
+ CreateTestSharedQuadState(blue_content_to_target_transform, rect);
+
+ scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ blue->SetNew(blue_shared_state.get(), rect, SK_ColorBLUE,
+ false, false, false, false);
+
+ pass->quad_list.append(blue.PassAs<DrawQuad>());
+
+ RenderPassList pass_list;
+ pass_list.push_back(pass.get());
+ RenderPassIdHashMap pass_map;
+ pass_map.add(id, pass.PassAs<RenderPass>());
+
+ renderer_->drawFrame(pass_list, pass_map);
+
+ EXPECT_TRUE(
+ PixelsMatchReference(FilePath(FILE_PATH_LITERAL("anti_aliasing.png")),
+ rect));
+}
#endif
} // namespace
« no previous file with comments | « cc/gl_renderer.cc ('k') | cc/layer_tree_host_impl.cc » ('j') | cc/solid_color_draw_quad.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698