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

Unified Diff: cc/gl_renderer_pixeltest.cc

Issue 12912006: Part 4 of cc/ directory shuffles: output (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 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
deleted file mode 100644
index 71e89b37cb4388a540174a615480c8279a9b1495..0000000000000000000000000000000000000000
--- a/cc/gl_renderer_pixeltest.cc
+++ /dev/null
@@ -1,325 +0,0 @@
-// Copyright 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "cc/gl_renderer.h"
-
-#include "cc/draw_quad.h"
-#include "cc/test/pixel_test.h"
-
-namespace cc {
-namespace {
-
-class GLRendererPixelTest : public PixelTest {};
-
-scoped_ptr<RenderPass> CreateTestRootRenderPass(RenderPass::Id id,
- gfx::Rect rect) {
- scoped_ptr<RenderPass> pass = RenderPass::Create();
- const gfx::Rect output_rect = rect;
- const gfx::RectF damage_rect = rect;
- const gfx::Transform transform_to_root_target;
- pass->SetNew(id, output_rect, damage_rect, transform_to_root_target);
- return pass.Pass();
-}
-
-scoped_ptr<RenderPass> CreateTestRenderPass(
- RenderPass::Id id,
- gfx::Rect rect,
- const gfx::Transform& transform_to_root_target) {
- scoped_ptr<RenderPass> pass = RenderPass::Create();
- const gfx::Rect output_rect = rect;
- const gfx::RectF damage_rect = rect;
- pass->SetNew(id, output_rect, damage_rect, transform_to_root_target);
- return pass.Pass();
-}
-
-scoped_ptr<SharedQuadState> CreateTestSharedQuadState(
- gfx::Transform content_to_target_transform, gfx::Rect rect) {
- const gfx::Size content_bounds = rect.size();
- const gfx::Rect visible_content_rect = rect;
- const gfx::Rect clip_rect = rect;
- const bool is_clipped = false;
- const float opacity = 1.0f;
- scoped_ptr<SharedQuadState> shared_state = SharedQuadState::Create();
- shared_state->SetAll(content_to_target_transform,
- content_bounds,
- visible_content_rect,
- clip_rect,
- is_clipped,
- opacity);
- return shared_state.Pass();
-}
-
-scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad(
- SharedQuadState* shared_state, gfx::Rect rect, RenderPass::Id pass_id) {
- scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
- quad->SetNew(shared_state,
- rect,
- pass_id,
- false, // is_replica
- 0, // mask_resource_id
- rect, // contents_changed_since_last_frame
- gfx::RectF(), // mask_uv_rect
- WebKit::WebFilterOperations(), // foreground filters
- skia::RefPtr<SkImageFilter>(), // foreground filter
- WebKit::WebFilterOperations()); // background filters
-
- return quad.PassAs<DrawQuad>();
-}
-
-
-#if !defined(OS_ANDROID)
-TEST_F(GLRendererPixelTest, simpleGreenRect) {
- gfx::Rect rect(device_viewport_size_);
-
- RenderPass::Id id(1, 1);
- scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
-
- gfx::Transform content_to_target_transform;
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(content_to_target_transform, rect);
-
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
- color_quad->SetNew(shared_state.get(), rect, SK_ColorGREEN);
-
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
-
- RenderPassList pass_list;
- pass_list.push_back(pass.Pass());
-
- renderer_->DrawFrame(pass_list);
-
- EXPECT_TRUE(PixelsMatchReference(
- base::FilePath(FILE_PATH_LITERAL("green.png"))));
-}
-
-TEST_F(GLRendererPixelTest, RenderPassChangesSize) {
- gfx::Rect viewport_rect(device_viewport_size_);
-
- RenderPass::Id root_pass_id(1, 1);
- scoped_ptr<RenderPass> root_pass =
- CreateTestRootRenderPass(root_pass_id, viewport_rect);
-
- RenderPass::Id child_pass_id(2, 2);
- gfx::Rect pass_rect(device_viewport_size_);
- gfx::Transform transform_to_root;
- scoped_ptr<RenderPass> child_pass =
- CreateTestRenderPass(child_pass_id, pass_rect, transform_to_root);
-
- gfx::Transform content_to_target_transform;
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(content_to_target_transform, viewport_rect);
-
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
- blue->SetNew(shared_state.get(),
- gfx::Rect(0,
- 0,
- device_viewport_size_.width() / 2,
- device_viewport_size_.height()),
- SK_ColorBLUE);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
- yellow->SetNew(shared_state.get(),
- gfx::Rect(device_viewport_size_.width() / 2,
- 0,
- device_viewport_size_.width() / 2,
- device_viewport_size_.height()),
- SK_ColorYELLOW);
-
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
-
- scoped_ptr<SharedQuadState> pass_shared_state =
- CreateTestSharedQuadState(gfx::Transform(), pass_rect);
- root_pass->quad_list.push_back(
- CreateTestRenderPassDrawQuad(pass_shared_state.get(),
- pass_rect,
- child_pass_id));
-
- RenderPassList pass_list;
- pass_list.push_back(child_pass.Pass());
- pass_list.push_back(root_pass.Pass());
-
- renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75));
- renderer_->DecideRenderPassAllocationsForFrame(pass_list);
- renderer_->DrawFrame(pass_list);
-
- EXPECT_TRUE(PixelsMatchReference(
- base::FilePath(FILE_PATH_LITERAL("blue_yellow.png"))));
-}
-
-class GLRendererPixelTestWithBackgroundFilter : public GLRendererPixelTest {
- protected:
- void DrawFrame() {
- gfx::Rect device_viewport_rect(device_viewport_size_);
-
- RenderPass::Id root_id(1, 1);
- scoped_ptr<RenderPass> root_pass =
- CreateTestRootRenderPass(root_id, device_viewport_rect);
- root_pass->has_transparent_background = false;
-
- gfx::Transform identity_content_to_target_transform;
-
- RenderPass::Id filter_pass_id(2, 1);
- gfx::Transform transform_to_root;
- scoped_ptr<RenderPass> filter_pass =
- CreateTestRenderPass(filter_pass_id,
- filter_pass_content_rect_,
- transform_to_root);
-
- // A non-visible quad in the filtering render pass.
- {
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(identity_content_to_target_transform,
- filter_pass_content_rect_);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
- color_quad->SetNew(shared_state.get(),
- filter_pass_content_rect_,
- SK_ColorTRANSPARENT);
- filter_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
- filter_pass->shared_quad_state_list.push_back(shared_state.Pass());
- }
-
- {
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(filter_pass_to_target_transform_,
- filter_pass_content_rect_);
- scoped_ptr<RenderPassDrawQuad> filter_pass_quad =
- RenderPassDrawQuad::Create();
- filter_pass_quad->SetNew(
- shared_state.get(),
- filter_pass_content_rect_,
- filter_pass_id,
- false, // is_replica
- 0, // mask_resource_id
- filter_pass_content_rect_, // contents_changed_since_last_frame
- gfx::RectF(), // mask_uv_rect
- WebKit::WebFilterOperations(), // filters
- skia::RefPtr<SkImageFilter>(), // filter
- background_filters_);
- root_pass->quad_list.push_back(filter_pass_quad.PassAs<DrawQuad>());
- root_pass->shared_quad_state_list.push_back(shared_state.Pass());
- }
-
- const int kColumnWidth = device_viewport_rect.width() / 3;
-
- gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20);
- for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) {
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(identity_content_to_target_transform,
- left_rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
- color_quad->SetNew(shared_state.get(), left_rect, SK_ColorGREEN);
- root_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
- root_pass->shared_quad_state_list.push_back(shared_state.Pass());
- left_rect += gfx::Vector2d(0, left_rect.height() + 1);
- }
-
- gfx::Rect middle_rect = gfx::Rect(kColumnWidth+1, 0, kColumnWidth, 20);
- for (int i = 0; middle_rect.y() < device_viewport_rect.height(); ++i) {
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(identity_content_to_target_transform,
- middle_rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
- color_quad->SetNew(shared_state.get(), middle_rect, SK_ColorRED);
- root_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
- root_pass->shared_quad_state_list.push_back(shared_state.Pass());
- middle_rect += gfx::Vector2d(0, middle_rect.height() + 1);
- }
-
- gfx::Rect right_rect = gfx::Rect((kColumnWidth+1)*2, 0, kColumnWidth, 20);
- for (int i = 0; right_rect.y() < device_viewport_rect.height(); ++i) {
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(identity_content_to_target_transform,
- right_rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
- color_quad->SetNew(shared_state.get(), right_rect, SK_ColorBLUE);
- root_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
- root_pass->shared_quad_state_list.push_back(shared_state.Pass());
- right_rect += gfx::Vector2d(0, right_rect.height() + 1);
- }
-
- scoped_ptr<SharedQuadState> shared_state =
- CreateTestSharedQuadState(identity_content_to_target_transform,
- device_viewport_rect);
- scoped_ptr<SolidColorDrawQuad> background_quad =
- SolidColorDrawQuad::Create();
- background_quad->SetNew(shared_state.get(),
- device_viewport_rect,
- SK_ColorWHITE);
- root_pass->quad_list.push_back(background_quad.PassAs<DrawQuad>());
- root_pass->shared_quad_state_list.push_back(shared_state.Pass());
-
- RenderPassList pass_list;
- pass_list.push_back(filter_pass.Pass());
- pass_list.push_back(root_pass.Pass());
-
- renderer_->DecideRenderPassAllocationsForFrame(pass_list);
- renderer_->DrawFrame(pass_list);
- }
-
- WebKit::WebFilterOperations background_filters_;
- gfx::Transform filter_pass_to_target_transform_;
- gfx::Rect filter_pass_content_rect_;
-};
-
-TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) {
- background_filters_.append(
- WebKit::WebFilterOperation::createInvertFilter(1.f));
-
- filter_pass_content_rect_ = gfx::Rect(device_viewport_size_);
- filter_pass_content_rect_.Inset(12, 14, 16, 18);
-
- DrawFrame();
- EXPECT_TRUE(PixelsMatchReference(
- base::FilePath(FILE_PATH_LITERAL("background_filter.png"))));
-}
-
-TEST_F(GLRendererPixelTest, AntiAliasing) {
- gfx::Rect rect(0, 0, 200, 200);
-
- RenderPass::Id id(1, 1);
- gfx::Transform transform_to_root;
- scoped_ptr<RenderPass> pass =
- CreateTestRenderPass(id, rect, transform_to_root);
-
- 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);
-
- pass->quad_list.push_back(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);
-
- pass->quad_list.push_back(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);
-
- pass->quad_list.push_back(blue.PassAs<DrawQuad>());
-
- RenderPassList pass_list;
- pass_list.push_back(pass.Pass());
-
- renderer_->DrawFrame(pass_list);
-
- EXPECT_TRUE(PixelsMatchReference(
- base::FilePath(FILE_PATH_LITERAL("anti_aliasing.png"))));
-}
-#endif
-
-} // namespace
-} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698