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

Side by Side Diff: cc/software_renderer_unittest.cc

Issue 11308153: Migrate most of cc/ from WebKit::WebTransformationMatrix to gfx::Transform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased to tip of tree and addressed feedback Created 8 years, 1 month 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
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/software_renderer.h" 5 #include "cc/software_renderer.h"
6 6
7 #include "cc/quad_sink.h" 7 #include "cc/quad_sink.h"
8 #include "cc/render_pass.h" 8 #include "cc/render_pass.h"
9 #include "cc/render_pass_draw_quad.h" 9 #include "cc/render_pass_draw_quad.h"
10 #include "cc/solid_color_draw_quad.h" 10 #include "cc/solid_color_draw_quad.h"
11 #include "cc/test/animation_test_common.h" 11 #include "cc/test/animation_test_common.h"
12 #include "cc/test/fake_web_compositor_output_surface.h" 12 #include "cc/test/fake_web_compositor_output_surface.h"
13 #include "cc/test/fake_web_compositor_software_output_device.h" 13 #include "cc/test/fake_web_compositor_software_output_device.h"
14 #include "cc/test/geometry_test_utils.h" 14 #include "cc/test/geometry_test_utils.h"
15 #include "cc/test/render_pass_test_common.h" 15 #include "cc/test/render_pass_test_common.h"
16 #include "cc/tile_draw_quad.h" 16 #include "cc/tile_draw_quad.h"
17 #include "testing/gmock/include/gmock/gmock.h" 17 #include "testing/gmock/include/gmock/gmock.h"
18 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
19 19
20 using namespace WebKit; 20 using namespace WebKit;
21 using namespace WebKitTests; 21 using namespace WebKitTests;
22 22
23 using gfx::Transform;
24
23 namespace cc { 25 namespace cc {
24 namespace { 26 namespace {
25 27
26 class SoftwareRendererTest : public testing::Test, public RendererClient { 28 class SoftwareRendererTest : public testing::Test, public RendererClient {
27 public: 29 public:
28 void initializeRenderer() { 30 void initializeRenderer() {
29 m_outputSurface = FakeWebCompositorOutputSurface::createSoftware(scoped_ ptr<WebKit::WebCompositorSoftwareOutputDevice>(new FakeWebCompositorSoftwareOutp utDevice)); 31 m_outputSurface = FakeWebCompositorOutputSurface::createSoftware(scoped_ ptr<WebKit::WebCompositorSoftwareOutputDevice>(new FakeWebCompositorSoftwareOutp utDevice));
30 m_resourceProvider = ResourceProvider::create(m_outputSurface.get()); 32 m_resourceProvider = ResourceProvider::create(m_outputSurface.get());
31 m_renderer = SoftwareRenderer::create(this, resourceProvider(), software Device()); 33 m_renderer = SoftwareRenderer::create(this, resourceProvider(), software Device());
32 } 34 }
(...skipping 27 matching lines...) Expand all
60 gfx::Size outerSize(100, 100); 62 gfx::Size outerSize(100, 100);
61 int outerPixels = outerSize.width() * outerSize.height(); 63 int outerPixels = outerSize.width() * outerSize.height();
62 gfx::Size innerSize(98, 98); 64 gfx::Size innerSize(98, 98);
63 gfx::Rect outerRect(gfx::Point(), outerSize); 65 gfx::Rect outerRect(gfx::Point(), outerSize);
64 gfx::Rect innerRect(gfx::Point(1, 1), innerSize); 66 gfx::Rect innerRect(gfx::Point(1, 1), innerSize);
65 setViewportSize(outerSize); 67 setViewportSize(outerSize);
66 68
67 initializeRenderer(); 69 initializeRenderer();
68 70
69 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create(); 71 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create();
70 sharedQuadState->SetAll(WebTransformationMatrix(), outerRect, outerRect, out erRect, false, 1.0); 72 sharedQuadState->SetAll(Transform(), outerRect, outerRect, outerRect, false, 1.0);
71 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1); 73 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1);
72 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create(); 74 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create();
73 rootRenderPass->SetNew(rootRenderPassId, outerRect, gfx::Rect(), WebTransfor mationMatrix()); 75 rootRenderPass->SetNew(rootRenderPassId, outerRect, gfx::Rect(), Transform() );
74 scoped_ptr<SolidColorDrawQuad> outerQuad = SolidColorDrawQuad::Create(); 76 scoped_ptr<SolidColorDrawQuad> outerQuad = SolidColorDrawQuad::Create();
75 outerQuad->SetNew(sharedQuadState.get(), outerRect, SK_ColorYELLOW); 77 outerQuad->SetNew(sharedQuadState.get(), outerRect, SK_ColorYELLOW);
76 scoped_ptr<SolidColorDrawQuad> innerQuad = SolidColorDrawQuad::Create(); 78 scoped_ptr<SolidColorDrawQuad> innerQuad = SolidColorDrawQuad::Create();
77 innerQuad->SetNew(sharedQuadState.get(), innerRect, SK_ColorCYAN); 79 innerQuad->SetNew(sharedQuadState.get(), innerRect, SK_ColorCYAN);
78 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>()); 80 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>());
79 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>()); 81 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>());
80 82
81 RenderPassList list; 83 RenderPassList list;
82 RenderPassIdHashMap hashmap; 84 RenderPassIdHashMap hashmap;
83 list.push_back(rootRenderPass.get()); 85 list.push_back(rootRenderPass.get());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 yellowPixels[i] = yellow; 123 yellowPixels[i] = yellow;
122 for (int i = 0; i < innerPixels; i++) 124 for (int i = 0; i < innerPixels; i++)
123 cyanPixels[i] = cyan; 125 cyanPixels[i] = cyan;
124 126
125 resourceProvider()->setPixels(resourceYellow, reinterpret_cast<uint8_t*>(yel lowPixels.get()), gfx::Rect(gfx::Point(), outerSize), gfx::Rect(gfx::Point(), ou terSize), gfx::Vector2d()); 127 resourceProvider()->setPixels(resourceYellow, reinterpret_cast<uint8_t*>(yel lowPixels.get()), gfx::Rect(gfx::Point(), outerSize), gfx::Rect(gfx::Point(), ou terSize), gfx::Vector2d());
126 resourceProvider()->setPixels(resourceCyan, reinterpret_cast<uint8_t*>(cyanP ixels.get()), gfx::Rect(gfx::Point(), innerSize), gfx::Rect(gfx::Point(), innerS ize), gfx::Vector2d()); 128 resourceProvider()->setPixels(resourceCyan, reinterpret_cast<uint8_t*>(cyanP ixels.get()), gfx::Rect(gfx::Point(), innerSize), gfx::Rect(gfx::Point(), innerS ize), gfx::Vector2d());
127 129
128 gfx::Rect rect = gfx::Rect(gfx::Point(), deviceViewportSize()); 130 gfx::Rect rect = gfx::Rect(gfx::Point(), deviceViewportSize());
129 131
130 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create(); 132 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::Create();
131 sharedQuadState->SetAll(WebTransformationMatrix(), outerRect, outerRect, out erRect, false, 1.0); 133 sharedQuadState->SetAll(Transform(), outerRect, outerRect, outerRect, false, 1.0);
132 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1); 134 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1);
133 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create(); 135 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::Create();
134 rootRenderPass->SetNew(rootRenderPassId, gfx::Rect(gfx::Point(), deviceViewp ortSize()), gfx::Rect(), WebTransformationMatrix()); 136 rootRenderPass->SetNew(rootRenderPassId, gfx::Rect(gfx::Point(), deviceViewp ortSize()), gfx::Rect(), Transform());
135 scoped_ptr<TileDrawQuad> outerQuad = TileDrawQuad::Create(); 137 scoped_ptr<TileDrawQuad> outerQuad = TileDrawQuad::Create();
136 outerQuad->SetNew(sharedQuadState.get(), outerRect, outerRect, resourceYello w, gfx::RectF(gfx::PointF(), outerSize), outerSize, false, false, false, false, false); 138 outerQuad->SetNew(sharedQuadState.get(), outerRect, outerRect, resourceYello w, gfx::RectF(gfx::PointF(), outerSize), outerSize, false, false, false, false, false);
137 scoped_ptr<TileDrawQuad> innerQuad = TileDrawQuad::Create(); 139 scoped_ptr<TileDrawQuad> innerQuad = TileDrawQuad::Create();
138 innerQuad->SetNew(sharedQuadState.get(), innerRect, innerRect, resourceCyan, gfx::RectF(gfx::PointF(), innerSize), innerSize, false, false, false, false, fa lse); 140 innerQuad->SetNew(sharedQuadState.get(), innerRect, innerRect, resourceCyan, gfx::RectF(gfx::PointF(), innerSize), innerSize, false, false, false, false, fa lse);
139 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>()); 141 rootRenderPass->AppendQuad(innerQuad.PassAs<DrawQuad>());
140 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>()); 142 rootRenderPass->AppendQuad(outerQuad.PassAs<DrawQuad>());
141 143
142 RenderPassList list; 144 RenderPassList list;
143 RenderPassIdHashMap hashmap; 145 RenderPassIdHashMap hashmap;
144 list.push_back(rootRenderPass.get()); 146 list.push_back(rootRenderPass.get());
145 hashmap.add(rootRenderPassId, rootRenderPass.PassAs<RenderPass>()); 147 hashmap.add(rootRenderPassId, rootRenderPass.PassAs<RenderPass>());
146 renderer()->drawFrame(list, hashmap); 148 renderer()->drawFrame(list, hashmap);
147 149
148 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]); 150 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]);
149 renderer()->getFramebufferPixels(pixels.get(), outerRect); 151 renderer()->getFramebufferPixels(pixels.get(), outerRect);
150 152
151 EXPECT_EQ(SK_ColorYELLOW, pixels[0]); 153 EXPECT_EQ(SK_ColorYELLOW, pixels[0]);
152 EXPECT_EQ(SK_ColorYELLOW, pixels[outerPixels - 1]); 154 EXPECT_EQ(SK_ColorYELLOW, pixels[outerPixels - 1]);
153 EXPECT_EQ(SK_ColorCYAN, pixels[outerSize.width() + 1]); 155 EXPECT_EQ(SK_ColorCYAN, pixels[outerSize.width() + 1]);
154 EXPECT_EQ(SK_ColorCYAN, pixels[outerPixels - outerSize.width() - 2]); 156 EXPECT_EQ(SK_ColorCYAN, pixels[outerPixels - outerSize.width() - 2]);
155 } 157 }
156 158
157 } // namespace 159 } // namespace
158 } // namespace cc 160 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698