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

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: 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 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 d1d7334a86a412ea1607462e685240372fe757fd..c0c0e7433a0a2fa40893461fa54d6e69a4c0dd36 100644
--- a/cc/gl_renderer_pixeltest.cc
+++ b/cc/gl_renderer_pixeltest.cc
@@ -137,7 +137,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, DrawQuad::AntiAliasing(),
+ SK_ColorGREEN);
pass->quad_list.append(color_quad.PassAs<DrawQuad>());
@@ -167,9 +168,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),
+ DrawQuad::AntiAliasing(), SK_ColorBLUE);
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),
+ DrawQuad::AntiAliasing(), SK_ColorYELLOW);
child_pass->quad_list.append(blue.PassAs<DrawQuad>());
child_pass->quad_list.append(yellow.PassAs<DrawQuad>());
@@ -192,6 +195,57 @@ 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,
+ DrawQuad::AntiAliasing(true, true, true, true),
+ SK_ColorRED);
+
+ 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,
+ DrawQuad::AntiAliasing(true, true, true, true),
+ SK_ColorYELLOW);
+
+ 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,
+ DrawQuad::AntiAliasing(false, false, false, false),
+ SK_ColorBLUE);
+
+ pass->quad_list.append(blue.PassAs<DrawQuad>());
+
+ RenderPassList pass_list;
+ pass_list.append(pass.Pass());
+
+ renderer_->drawFrame(pass_list);
+
+ EXPECT_TRUE(
+ PixelsMatchReference(FilePath(FILE_PATH_LITERAL("anti_aliasing.png")),
+ rect));
+}
#endif
} // namespace

Powered by Google App Engine
This is Rietveld 408576698