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

Side by Side Diff: cc/draw_quad_unittest.cc

Issue 11618026: Move filters to RenderPassDrawQuad (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/direct_renderer.cc ('k') | cc/gl_renderer.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/draw_quad.h" 5 #include "cc/draw_quad.h"
6 6
7 #include "cc/checkerboard_draw_quad.h" 7 #include "cc/checkerboard_draw_quad.h"
8 #include "cc/debug_border_draw_quad.h" 8 #include "cc/debug_border_draw_quad.h"
9 #include "cc/io_surface_draw_quad.h" 9 #include "cc/io_surface_draw_quad.h"
10 #include "cc/math_util.h" 10 #include "cc/math_util.h"
11 #include "cc/render_pass_draw_quad.h" 11 #include "cc/render_pass_draw_quad.h"
12 #include "cc/solid_color_draw_quad.h" 12 #include "cc/solid_color_draw_quad.h"
13 #include "cc/stream_video_draw_quad.h" 13 #include "cc/stream_video_draw_quad.h"
14 #include "cc/test/geometry_test_utils.h" 14 #include "cc/test/geometry_test_utils.h"
15 #include "cc/texture_draw_quad.h" 15 #include "cc/texture_draw_quad.h"
16 #include "cc/tile_draw_quad.h" 16 #include "cc/tile_draw_quad.h"
17 #include "cc/yuv_video_draw_quad.h" 17 #include "cc/yuv_video_draw_quad.h"
18 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
19 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperations .h"
20 #include "third_party/skia/include/effects/SkBlurImageFilter.h"
19 #include "ui/gfx/transform.h" 21 #include "ui/gfx/transform.h"
20 22
21 namespace cc { 23 namespace cc {
22 namespace { 24 namespace {
23 25
24 TEST(DrawQuadTest, copySharedQuadState) 26 TEST(DrawQuadTest, copySharedQuadState)
25 { 27 {
26 gfx::Transform quadTransform = MathUtil::createGfxTransform(1, 0.5, 0, 1, 0. 5, 0); 28 gfx::Transform quadTransform = MathUtil::createGfxTransform(1, 0.5, 0, 1, 0. 5, 0);
27 gfx::Rect visibleContentRect(10, 12, 14, 16); 29 gfx::Rect visibleContentRect(10, 12, 14, 16);
28 gfx::Rect clippedRectInTarget(19, 21, 23, 25); 30 gfx::Rect clippedRectInTarget(19, 21, 23, 25);
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 { QUAD_DATA \ 199 { QUAD_DATA \
198 quadNew->SetNew(sharedState.get(), quadRect, a, b, c, d, e, f, g, h); } \ 200 quadNew->SetNew(sharedState.get(), quadRect, a, b, c, d, e, f, g, h); } \
199 SETUP_AND_COPY_QUAD_NEW(Type, quadNew); 201 SETUP_AND_COPY_QUAD_NEW(Type, quadNew);
200 202
201 #define CREATE_QUAD_8_ALL(Type, a, b, c, d, e, f, g, h) \ 203 #define CREATE_QUAD_8_ALL(Type, a, b, c, d, e, f, g, h) \
202 scoped_ptr<Type> quadAll(Type::Create()); \ 204 scoped_ptr<Type> quadAll(Type::Create()); \
203 { QUAD_DATA \ 205 { QUAD_DATA \
204 quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRe ct, needsBlending, a, b, c, d, e, f, g, h); } \ 206 quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRe ct, needsBlending, a, b, c, d, e, f, g, h); } \
205 SETUP_AND_COPY_QUAD_ALL(Type, quadAll); 207 SETUP_AND_COPY_QUAD_ALL(Type, quadAll);
206 208
209 #define CREATE_QUAD_8_NEW_1(Type, a, b, c, d, e, f, g, h, copyA) \
210 scoped_ptr<Type> quadNew(Type::Create()); \
211 { QUAD_DATA \
212 quadNew->SetNew(sharedState.get(), quadRect, a, b, c, d, e, f, g, h); } \
213 SETUP_AND_COPY_QUAD_NEW_1(Type, quadNew, copyA);
214
215 #define CREATE_QUAD_8_ALL_1(Type, a, b, c, d, e, f, g, h, copyA) \
216 scoped_ptr<Type> quadAll(Type::Create()); \
217 { QUAD_DATA \
218 quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRe ct, needsBlending, a, b, c, d, e, f, g, h); } \
219 SETUP_AND_COPY_QUAD_ALL_1(Type, quadAll, copyA);
220
207 #define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \ 221 #define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \
208 scoped_ptr<Type> quadNew(Type::Create()); \ 222 scoped_ptr<Type> quadNew(Type::Create()); \
209 { QUAD_DATA \ 223 { QUAD_DATA \
210 quadNew->SetNew(sharedState.get(), quadRect, a, b, c, d, e, f, g, h, i); } \ 224 quadNew->SetNew(sharedState.get(), quadRect, a, b, c, d, e, f, g, h, i); } \
211 SETUP_AND_COPY_QUAD_NEW(Type, quadNew); 225 SETUP_AND_COPY_QUAD_NEW(Type, quadNew);
212 226
213 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \ 227 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \
214 scoped_ptr<Type> quadAll(Type::Create()); \ 228 scoped_ptr<Type> quadAll(Type::Create()); \
215 { QUAD_DATA \ 229 { QUAD_DATA \
216 quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRe ct, needsBlending, a, b, c, d, e, f, g, h, i); } \ 230 quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRe ct, needsBlending, a, b, c, d, e, f, g, h, i); } \
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 EXPECT_EQ(orientation, copyQuad->orientation); 283 EXPECT_EQ(orientation, copyQuad->orientation);
270 } 284 }
271 285
272 TEST(DrawQuadTest, copyRenderPassDrawQuad) 286 TEST(DrawQuadTest, copyRenderPassDrawQuad)
273 { 287 {
274 RenderPass::Id renderPassId(22, 64); 288 RenderPass::Id renderPassId(22, 64);
275 bool isReplica = true; 289 bool isReplica = true;
276 ResourceProvider::ResourceId maskResourceId = 78; 290 ResourceProvider::ResourceId maskResourceId = 78;
277 gfx::Rect contentsChangedSinceLastFrame(42, 11, 74, 24); 291 gfx::Rect contentsChangedSinceLastFrame(42, 11, 74, 24);
278 gfx::RectF maskUVRect(-45, -21, 33, 19); 292 gfx::RectF maskUVRect(-45, -21, 33, 19);
293 WebKit::WebFilterOperations filters;
294 filters.append(WebKit::WebFilterOperation::createBlurFilter(1.f));
295 WebKit::WebFilterOperations background_filters;
296 background_filters.append(
297 WebKit::WebFilterOperation::createGrayscaleFilter(1.f));
298 skia::RefPtr<SkImageFilter> filter = skia::AdoptRef(
299 new SkBlurImageFilter(SK_Scalar1, SK_Scalar1));
279 300
280 RenderPass::Id copiedRenderPassId(235, 11); 301 RenderPass::Id copiedRenderPassId(235, 11);
281 CREATE_SHARED_STATE(); 302 CREATE_SHARED_STATE();
282 303
283 CREATE_QUAD_5_NEW_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourc eId, contentsChangedSinceLastFrame, maskUVRect, copiedRenderPassId); 304 CREATE_QUAD_8_NEW_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourc eId, contentsChangedSinceLastFrame, maskUVRect, filters, filter, background_filt ers, copiedRenderPassId);
284 EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material); 305 EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material);
285 EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id); 306 EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id);
286 EXPECT_EQ(isReplica, copyQuad->is_replica); 307 EXPECT_EQ(isReplica, copyQuad->is_replica);
287 EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id); 308 EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id);
288 EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_sin ce_last_frame); 309 EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_sin ce_last_frame);
289 EXPECT_EQ(maskUVRect.ToString(), copyQuad->mask_uv_rect.ToString()); 310 EXPECT_EQ(maskUVRect.ToString(), copyQuad->mask_uv_rect.ToString());
311 EXPECT_EQ(filters, copyQuad->filters);
312 EXPECT_EQ(filter, copyQuad->filter);
313 EXPECT_EQ(background_filters, copyQuad->background_filters);
290 314
291 CREATE_QUAD_5_ALL_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourc eId, contentsChangedSinceLastFrame, maskUVRect, copiedRenderPassId); 315 CREATE_QUAD_8_ALL_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourc eId, contentsChangedSinceLastFrame, maskUVRect, filters, filter, background_filt ers, copiedRenderPassId);
292 EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material); 316 EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material);
293 EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id); 317 EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id);
294 EXPECT_EQ(isReplica, copyQuad->is_replica); 318 EXPECT_EQ(isReplica, copyQuad->is_replica);
295 EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id); 319 EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id);
296 EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_sin ce_last_frame); 320 EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_sin ce_last_frame);
297 EXPECT_EQ(maskUVRect.ToString(), copyQuad->mask_uv_rect.ToString()); 321 EXPECT_EQ(maskUVRect.ToString(), copyQuad->mask_uv_rect.ToString());
322 EXPECT_EQ(filters, copyQuad->filters);
323 EXPECT_EQ(filter, copyQuad->filter);
324 EXPECT_EQ(background_filters, copyQuad->background_filters);
298 } 325 }
299 326
300 TEST(DrawQuadTest, copySolidColorDrawQuad) 327 TEST(DrawQuadTest, copySolidColorDrawQuad)
301 { 328 {
302 SkColor color = 0x49494949; 329 SkColor color = 0x49494949;
303 CREATE_SHARED_STATE(); 330 CREATE_SHARED_STATE();
304 331
305 CREATE_QUAD_1_NEW(SolidColorDrawQuad, color); 332 CREATE_QUAD_1_NEW(SolidColorDrawQuad, color);
306 EXPECT_EQ(DrawQuad::SOLID_COLOR, copyQuad->material); 333 EXPECT_EQ(DrawQuad::SOLID_COLOR, copyQuad->material);
307 EXPECT_EQ(color, copyQuad->color); 334 EXPECT_EQ(color, copyQuad->color);
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 EXPECT_EQ(uPlane.resourceId, copyQuad->u_plane.resourceId); 463 EXPECT_EQ(uPlane.resourceId, copyQuad->u_plane.resourceId);
437 EXPECT_EQ(uPlane.size, copyQuad->u_plane.size); 464 EXPECT_EQ(uPlane.size, copyQuad->u_plane.size);
438 EXPECT_EQ(uPlane.format, copyQuad->u_plane.format); 465 EXPECT_EQ(uPlane.format, copyQuad->u_plane.format);
439 EXPECT_EQ(vPlane.resourceId, copyQuad->v_plane.resourceId); 466 EXPECT_EQ(vPlane.resourceId, copyQuad->v_plane.resourceId);
440 EXPECT_EQ(vPlane.size, copyQuad->v_plane.size); 467 EXPECT_EQ(vPlane.size, copyQuad->v_plane.size);
441 EXPECT_EQ(vPlane.format, copyQuad->v_plane.format); 468 EXPECT_EQ(vPlane.format, copyQuad->v_plane.format);
442 } 469 }
443 470
444 } // namespace 471 } // namespace
445 } // namespace cc 472 } // namespace cc
OLDNEW
« no previous file with comments | « cc/direct_renderer.cc ('k') | cc/gl_renderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698