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

Side by Side Diff: cc/gl_renderer_pixeltest.cc

Issue 12393053: Re-land: cc: Added antialiasing support for solid color layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Re-enabled GLRendererPixelTest.AnitAliasing on Windows. Created 7 years, 9 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
« no previous file with comments | « cc/gl_renderer.cc ('k') | cc/shader.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/gl_renderer.h" 5 #include "cc/gl_renderer.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "cc/compositor_frame_metadata.h" 9 #include "cc/compositor_frame_metadata.h"
10 #include "cc/draw_quad.h" 10 #include "cc/draw_quad.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 rect, // contents_changed_since_last_frame 122 rect, // contents_changed_since_last_frame
123 gfx::RectF(), // mask_uv_rect 123 gfx::RectF(), // mask_uv_rect
124 WebKit::WebFilterOperations(), // foreground filters 124 WebKit::WebFilterOperations(), // foreground filters
125 skia::RefPtr<SkImageFilter>(), // foreground filter 125 skia::RefPtr<SkImageFilter>(), // foreground filter
126 WebKit::WebFilterOperations()); // background filters 126 WebKit::WebFilterOperations()); // background filters
127 127
128 return quad.PassAs<DrawQuad>(); 128 return quad.PassAs<DrawQuad>();
129 } 129 }
130 130
131 131
132 #if !defined(OS_ANDROID) 132 #if !defined(OS_ANDROID)
reveman 2013/03/13 00:33:38 can we remove this too now? lets not change it in
jamesr 2013/03/13 00:35:10 Not trivially. We don't have anything set up to b
133 TEST_F(GLRendererPixelTest, simpleGreenRect) { 133 TEST_F(GLRendererPixelTest, simpleGreenRect) {
134 gfx::Rect rect(0, 0, 200, 200); 134 gfx::Rect rect(0, 0, 200, 200);
135 135
136 RenderPass::Id id(1, 1); 136 RenderPass::Id id(1, 1);
137 scoped_ptr<RenderPass> pass = CreateTestRenderPass(id, rect); 137 scoped_ptr<RenderPass> pass = CreateTestRenderPass(id, rect);
138 138
139 gfx::Transform content_to_target_transform; 139 gfx::Transform content_to_target_transform;
140 scoped_ptr<SharedQuadState> shared_state = 140 scoped_ptr<SharedQuadState> shared_state =
141 CreateTestSharedQuadState(content_to_target_transform, rect); 141 CreateTestSharedQuadState(content_to_target_transform, rect);
142 142
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 pass_list.push_back(child_pass.Pass()); 190 pass_list.push_back(child_pass.Pass());
191 pass_list.push_back(root_pass.Pass()); 191 pass_list.push_back(root_pass.Pass());
192 192
193 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75)); 193 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75));
194 renderer_->DecideRenderPassAllocationsForFrame(pass_list); 194 renderer_->DecideRenderPassAllocationsForFrame(pass_list);
195 renderer_->DrawFrame(pass_list); 195 renderer_->DrawFrame(pass_list);
196 196
197 EXPECT_TRUE(PixelsMatchReference( 197 EXPECT_TRUE(PixelsMatchReference(
198 base::FilePath(FILE_PATH_LITERAL("blue_yellow.png")), viewport_rect)); 198 base::FilePath(FILE_PATH_LITERAL("blue_yellow.png")), viewport_rect));
199 } 199 }
200
201 TEST_F(GLRendererPixelTest, AntiAliasing) {
202 gfx::Rect rect(0, 0, 200, 200);
203
204 RenderPass::Id id(1, 1);
205 scoped_ptr<RenderPass> pass = CreateTestRenderPass(id, rect);
206
207 gfx::Transform red_content_to_target_transform;
208 red_content_to_target_transform.Rotate(10);
209 scoped_ptr<SharedQuadState> red_shared_state =
210 CreateTestSharedQuadState(red_content_to_target_transform, rect);
211
212 scoped_ptr<SolidColorDrawQuad> red = SolidColorDrawQuad::Create();
213 red->SetNew(red_shared_state.get(), rect, SK_ColorRED);
214
215 pass->quad_list.push_back(red.PassAs<DrawQuad>());
216
217 gfx::Transform yellow_content_to_target_transform;
218 yellow_content_to_target_transform.Rotate(5);
219 scoped_ptr<SharedQuadState> yellow_shared_state =
220 CreateTestSharedQuadState(yellow_content_to_target_transform, rect);
221
222 scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
223 yellow->SetNew(yellow_shared_state.get(), rect, SK_ColorYELLOW);
224
225 pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
226
227 gfx::Transform blue_content_to_target_transform;
228 scoped_ptr<SharedQuadState> blue_shared_state =
229 CreateTestSharedQuadState(blue_content_to_target_transform, rect);
230
231 scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
232 blue->SetNew(blue_shared_state.get(), rect, SK_ColorBLUE);
233
234 pass->quad_list.push_back(blue.PassAs<DrawQuad>());
235
236 RenderPassList pass_list;
237 pass_list.push_back(pass.Pass());
238
239 renderer_->DrawFrame(pass_list);
240
241 EXPECT_TRUE(PixelsMatchReference(
242 base::FilePath(FILE_PATH_LITERAL("anti_aliasing.png")), rect));
243 }
200 #endif 244 #endif
201 245
202 } // namespace 246 } // namespace
203 } // namespace cc 247 } // namespace cc
OLDNEW
« no previous file with comments | « cc/gl_renderer.cc ('k') | cc/shader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698