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

Side by Side Diff: cc/output/software_renderer_unittest.cc

Issue 952893003: Update from https://crrev.com/317530 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Fix gn for nacl Created 5 years, 10 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/output/software_renderer.cc ('k') | cc/quads/draw_polygon.cc » ('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/output/software_renderer.h" 5 #include "cc/output/software_renderer.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "cc/output/compositor_frame_metadata.h" 8 #include "cc/output/compositor_frame_metadata.h"
9 #include "cc/output/copy_output_request.h" 9 #include "cc/output/copy_output_request.h"
10 #include "cc/output/copy_output_result.h" 10 #include "cc/output/copy_output_result.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 148
149 TEST_F(SoftwareRendererTest, TileQuad) { 149 TEST_F(SoftwareRendererTest, TileQuad) {
150 gfx::Size outer_size(100, 100); 150 gfx::Size outer_size(100, 100);
151 gfx::Size inner_size(98, 98); 151 gfx::Size inner_size(98, 98);
152 gfx::Rect outer_rect(outer_size); 152 gfx::Rect outer_rect(outer_size);
153 gfx::Rect inner_rect(gfx::Point(1, 1), inner_size); 153 gfx::Rect inner_rect(gfx::Point(1, 1), inner_size);
154 InitializeRenderer(make_scoped_ptr(new SoftwareOutputDevice)); 154 InitializeRenderer(make_scoped_ptr(new SoftwareOutputDevice));
155 155
156 ResourceProvider::ResourceId resource_yellow = 156 ResourceProvider::ResourceId resource_yellow =
157 resource_provider()->CreateResource( 157 resource_provider()->CreateResource(
158 outer_size, 158 outer_size, GL_CLAMP_TO_EDGE,
159 GL_CLAMP_TO_EDGE, 159 ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888);
160 ResourceProvider::TextureHintImmutable,
161 RGBA_8888);
162 ResourceProvider::ResourceId resource_cyan = 160 ResourceProvider::ResourceId resource_cyan =
163 resource_provider()->CreateResource( 161 resource_provider()->CreateResource(
164 inner_size, 162 inner_size, GL_CLAMP_TO_EDGE,
165 GL_CLAMP_TO_EDGE, 163 ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888);
166 ResourceProvider::TextureHintImmutable,
167 RGBA_8888);
168 164
169 SkBitmap yellow_tile; 165 SkBitmap yellow_tile;
170 yellow_tile.allocN32Pixels(outer_size.width(), outer_size.height()); 166 yellow_tile.allocN32Pixels(outer_size.width(), outer_size.height());
171 yellow_tile.eraseColor(SK_ColorYELLOW); 167 yellow_tile.eraseColor(SK_ColorYELLOW);
172 168
173 SkBitmap cyan_tile; 169 SkBitmap cyan_tile;
174 cyan_tile.allocN32Pixels(inner_size.width(), inner_size.height()); 170 cyan_tile.allocN32Pixels(inner_size.width(), inner_size.height());
175 cyan_tile.eraseColor(SK_ColorCYAN); 171 cyan_tile.eraseColor(SK_ColorCYAN);
176 172
177 resource_provider()->SetPixels( 173 resource_provider()->CopyToResource(
178 resource_yellow, 174 resource_yellow, static_cast<uint8_t*>(yellow_tile.getPixels()),
179 static_cast<uint8_t*>(yellow_tile.getPixels()), 175 outer_size);
180 gfx::Rect(outer_size), 176 resource_provider()->CopyToResource(
181 gfx::Rect(outer_size), 177 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), inner_size);
182 gfx::Vector2d());
183 resource_provider()->SetPixels(resource_cyan,
184 static_cast<uint8_t*>(cyan_tile.getPixels()),
185 gfx::Rect(inner_size),
186 gfx::Rect(inner_size),
187 gfx::Vector2d());
188 178
189 gfx::Rect root_rect = outer_rect; 179 gfx::Rect root_rect = outer_rect;
190 180
191 RenderPassId root_render_pass_id = RenderPassId(1, 1); 181 RenderPassId root_render_pass_id = RenderPassId(1, 1);
192 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create(); 182 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create();
193 root_render_pass->SetNew( 183 root_render_pass->SetNew(
194 root_render_pass_id, root_rect, root_rect, gfx::Transform()); 184 root_render_pass_id, root_rect, root_rect, gfx::Transform());
195 SharedQuadState* shared_quad_state = 185 SharedQuadState* shared_quad_state =
196 root_render_pass->CreateAndAppendSharedQuadState(); 186 root_render_pass->CreateAndAppendSharedQuadState();
197 shared_quad_state->SetAll(gfx::Transform(), 187 shared_quad_state->SetAll(gfx::Transform(),
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 235
246 TEST_F(SoftwareRendererTest, TileQuadVisibleRect) { 236 TEST_F(SoftwareRendererTest, TileQuadVisibleRect) {
247 gfx::Size tile_size(100, 100); 237 gfx::Size tile_size(100, 100);
248 gfx::Rect tile_rect(tile_size); 238 gfx::Rect tile_rect(tile_size);
249 gfx::Rect visible_rect = tile_rect; 239 gfx::Rect visible_rect = tile_rect;
250 visible_rect.Inset(1, 2, 3, 4); 240 visible_rect.Inset(1, 2, 3, 4);
251 InitializeRenderer(make_scoped_ptr(new SoftwareOutputDevice)); 241 InitializeRenderer(make_scoped_ptr(new SoftwareOutputDevice));
252 242
253 ResourceProvider::ResourceId resource_cyan = 243 ResourceProvider::ResourceId resource_cyan =
254 resource_provider()->CreateResource( 244 resource_provider()->CreateResource(
255 tile_size, 245 tile_size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
256 GL_CLAMP_TO_EDGE,
257 ResourceProvider::TextureHintImmutable,
258 RGBA_8888); 246 RGBA_8888);
259 247
260 SkBitmap cyan_tile; // The lowest five rows are yellow. 248 SkBitmap cyan_tile; // The lowest five rows are yellow.
261 cyan_tile.allocN32Pixels(tile_size.width(), tile_size.height()); 249 cyan_tile.allocN32Pixels(tile_size.width(), tile_size.height());
262 cyan_tile.eraseColor(SK_ColorCYAN); 250 cyan_tile.eraseColor(SK_ColorCYAN);
263 cyan_tile.eraseArea( 251 cyan_tile.eraseArea(
264 SkIRect::MakeLTRB( 252 SkIRect::MakeLTRB(
265 0, visible_rect.bottom() - 1, tile_rect.width(), tile_rect.bottom()), 253 0, visible_rect.bottom() - 1, tile_rect.width(), tile_rect.bottom()),
266 SK_ColorYELLOW); 254 SK_ColorYELLOW);
267 255
268 resource_provider()->SetPixels(resource_cyan, 256 resource_provider()->CopyToResource(
269 static_cast<uint8_t*>(cyan_tile.getPixels()), 257 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), tile_size);
270 gfx::Rect(tile_size),
271 gfx::Rect(tile_size),
272 gfx::Vector2d());
273 258
274 gfx::Rect root_rect(tile_size); 259 gfx::Rect root_rect(tile_size);
275 260
276 RenderPassId root_render_pass_id = RenderPassId(1, 1); 261 RenderPassId root_render_pass_id = RenderPassId(1, 1);
277 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create(); 262 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create();
278 root_render_pass->SetNew( 263 root_render_pass->SetNew(
279 root_render_pass_id, root_rect, root_rect, gfx::Transform()); 264 root_render_pass_id, root_rect, root_rect, gfx::Transform());
280 SharedQuadState* shared_quad_state = 265 SharedQuadState* shared_quad_state =
281 root_render_pass->CreateAndAppendSharedQuadState(); 266 root_render_pass->CreateAndAppendSharedQuadState();
282 shared_quad_state->SetAll(gfx::Transform(), 267 shared_quad_state->SetAll(gfx::Transform(),
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 EXPECT_EQ( 419 EXPECT_EQ(
435 SK_ColorMAGENTA, 420 SK_ColorMAGENTA,
436 output->getColor(interior_visible_rect.x(), interior_visible_rect.y())); 421 output->getColor(interior_visible_rect.x(), interior_visible_rect.y()));
437 EXPECT_EQ(SK_ColorMAGENTA, 422 EXPECT_EQ(SK_ColorMAGENTA,
438 output->getColor(interior_visible_rect.right() - 1, 423 output->getColor(interior_visible_rect.right() - 1,
439 interior_visible_rect.bottom() - 1)); 424 interior_visible_rect.bottom() - 1));
440 } 425 }
441 426
442 } // namespace 427 } // namespace
443 } // namespace cc 428 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/software_renderer.cc ('k') | cc/quads/draw_polygon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698