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

Side by Side Diff: mojo/converters/surfaces/tests/surface_unittest.cc

Issue 2008193002: Change mojo geometry structs from using type converters to StructTraits. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <utility> 8 #include <utility>
9 9
10 #include "cc/quads/debug_border_draw_quad.h" 10 #include "cc/quads/debug_border_draw_quad.h"
11 #include "cc/quads/render_pass.h" 11 #include "cc/quads/render_pass.h"
12 #include "cc/quads/solid_color_draw_quad.h" 12 #include "cc/quads/solid_color_draw_quad.h"
13 #include "cc/quads/surface_draw_quad.h" 13 #include "cc/quads/surface_draw_quad.h"
14 #include "cc/quads/texture_draw_quad.h" 14 #include "cc/quads/texture_draw_quad.h"
15 #include "cc/resources/resource_provider.h" 15 #include "cc/resources/resource_provider.h"
16 #include "gpu/command_buffer/common/mailbox.h" 16 #include "gpu/command_buffer/common/mailbox.h"
17 #include "gpu/command_buffer/common/mailbox_holder.h" 17 #include "gpu/command_buffer/common/mailbox_holder.h"
18 #include "gpu/command_buffer/common/sync_token.h" 18 #include "gpu/command_buffer/common/sync_token.h"
19 #include "mojo/converters/geometry/geometry_type_converters.h"
20 #include "mojo/converters/surfaces/surfaces_type_converters.h" 19 #include "mojo/converters/surfaces/surfaces_type_converters.h"
21 #include "mojo/converters/transform/transform_type_converters.h" 20 #include "mojo/converters/transform/transform_type_converters.h"
22 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
23 #include "third_party/skia/include/core/SkColor.h" 22 #include "third_party/skia/include/core/SkColor.h"
24 #include "third_party/skia/include/core/SkXfermode.h" 23 #include "third_party/skia/include/core/SkXfermode.h"
25 24
26 using mus::mojom::Color; 25 using mus::mojom::Color;
27 using mus::mojom::ColorPtr; 26 using mus::mojom::ColorPtr;
28 using mus::mojom::CompositorFrame; 27 using mus::mojom::CompositorFrame;
29 using mus::mojom::CompositorFramePtr; 28 using mus::mojom::CompositorFramePtr;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 rect, 110 rect,
112 opaque_rect, 111 opaque_rect,
113 visible_rect, 112 visible_rect,
114 needs_blending, 113 needs_blending,
115 arbitrary_color, 114 arbitrary_color,
116 force_anti_aliasing_off); 115 force_anti_aliasing_off);
117 116
118 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*color_quad); 117 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*color_quad);
119 ASSERT_FALSE(mus_quad.is_null()); 118 ASSERT_FALSE(mus_quad.is_null());
120 EXPECT_EQ(mus::mojom::Material::SOLID_COLOR, mus_quad->material); 119 EXPECT_EQ(mus::mojom::Material::SOLID_COLOR, mus_quad->material);
121 EXPECT_TRUE(Rect::From(rect).Equals(mus_quad->rect)); 120 EXPECT_EQ(rect, mus_quad->rect);
122 EXPECT_TRUE(Rect::From(opaque_rect).Equals(mus_quad->opaque_rect)); 121 EXPECT_EQ(opaque_rect, mus_quad->opaque_rect);
123 EXPECT_TRUE(Rect::From(visible_rect).Equals(mus_quad->visible_rect)); 122 EXPECT_EQ(visible_rect, mus_quad->visible_rect);
124 EXPECT_EQ(needs_blending, mus_quad->needs_blending); 123 EXPECT_EQ(needs_blending, mus_quad->needs_blending);
125 ASSERT_TRUE(mus_quad->solid_color_quad_state); 124 ASSERT_TRUE(mus_quad->solid_color_quad_state);
126 SolidColorQuadStatePtr& mus_color_state = mus_quad->solid_color_quad_state; 125 SolidColorQuadStatePtr& mus_color_state = mus_quad->solid_color_quad_state;
127 EXPECT_TRUE(Color::From(arbitrary_color).Equals(mus_color_state->color)); 126 EXPECT_TRUE(Color::From(arbitrary_color).Equals(mus_color_state->color));
128 EXPECT_EQ(force_anti_aliasing_off, mus_color_state->force_anti_aliasing_off); 127 EXPECT_EQ(force_anti_aliasing_off, mus_color_state->force_anti_aliasing_off);
129 } 128 }
130 129
131 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { 130 TEST_F(SurfaceLibQuadTest, SurfaceQuad) {
132 cc::SurfaceDrawQuad* surface_quad = 131 cc::SurfaceDrawQuad* surface_quad =
133 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); 132 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>();
(...skipping 27 matching lines...) Expand all
161 vertex_opacity, y_flipped, nearest_neighbor, 160 vertex_opacity, y_flipped, nearest_neighbor,
162 secure_output_only); 161 secure_output_only);
163 162
164 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*texture_quad); 163 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*texture_quad);
165 ASSERT_FALSE(mus_quad.is_null()); 164 ASSERT_FALSE(mus_quad.is_null());
166 EXPECT_EQ(mus::mojom::Material::TEXTURE_CONTENT, mus_quad->material); 165 EXPECT_EQ(mus::mojom::Material::TEXTURE_CONTENT, mus_quad->material);
167 ASSERT_TRUE(mus_quad->texture_quad_state); 166 ASSERT_TRUE(mus_quad->texture_quad_state);
168 TextureQuadStatePtr& mus_texture_state = mus_quad->texture_quad_state; 167 TextureQuadStatePtr& mus_texture_state = mus_quad->texture_quad_state;
169 EXPECT_EQ(resource_id, mus_texture_state->resource_id); 168 EXPECT_EQ(resource_id, mus_texture_state->resource_id);
170 EXPECT_EQ(premultiplied_alpha, mus_texture_state->premultiplied_alpha); 169 EXPECT_EQ(premultiplied_alpha, mus_texture_state->premultiplied_alpha);
171 EXPECT_TRUE(PointF::From(uv_top_left).Equals(mus_texture_state->uv_top_left)); 170 EXPECT_EQ(uv_top_left, mus_texture_state->uv_top_left);
172 EXPECT_TRUE( 171 EXPECT_EQ(uv_bottom_right, mus_texture_state->uv_bottom_right);
173 PointF::From(uv_bottom_right).Equals(mus_texture_state->uv_bottom_right));
174 EXPECT_TRUE(Color::From(background_color) 172 EXPECT_TRUE(Color::From(background_color)
175 .Equals(mus_texture_state->background_color)); 173 .Equals(mus_texture_state->background_color));
176 for (size_t i = 0; i < 4; ++i) { 174 for (size_t i = 0; i < 4; ++i) {
177 EXPECT_EQ(vertex_opacity[i], mus_texture_state->vertex_opacity[i]) << i; 175 EXPECT_EQ(vertex_opacity[i], mus_texture_state->vertex_opacity[i]) << i;
178 } 176 }
179 EXPECT_EQ(y_flipped, mus_texture_state->y_flipped); 177 EXPECT_EQ(y_flipped, mus_texture_state->y_flipped);
180 EXPECT_EQ(secure_output_only, mus_texture_state->secure_output_only); 178 EXPECT_EQ(secure_output_only, mus_texture_state->secure_output_only);
181 } 179 }
182 180
183 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { 181 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); 230 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
233 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); 231 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState();
234 sqs->SetAll(quad_to_target_transform, quad_layer_bounds, 232 sqs->SetAll(quad_to_target_transform, quad_layer_bounds,
235 visible_quad_layer_rect, clip_rect, is_clipped, opacity, 233 visible_quad_layer_rect, clip_rect, is_clipped, opacity,
236 blend_mode, sorting_context_id); 234 blend_mode, sorting_context_id);
237 235
238 SharedQuadStatePtr mus_sqs = SharedQuadState::From(*sqs); 236 SharedQuadStatePtr mus_sqs = SharedQuadState::From(*sqs);
239 ASSERT_FALSE(mus_sqs.is_null()); 237 ASSERT_FALSE(mus_sqs.is_null());
240 EXPECT_TRUE(Transform::From(quad_to_target_transform) 238 EXPECT_TRUE(Transform::From(quad_to_target_transform)
241 .Equals(mus_sqs->quad_to_target_transform)); 239 .Equals(mus_sqs->quad_to_target_transform));
242 EXPECT_TRUE(Size::From(quad_layer_bounds).Equals(mus_sqs->quad_layer_bounds)); 240 EXPECT_EQ(quad_layer_bounds, mus_sqs->quad_layer_bounds);
243 EXPECT_TRUE(Rect::From(visible_quad_layer_rect) 241 EXPECT_EQ(visible_quad_layer_rect, mus_sqs->visible_quad_layer_rect);
244 .Equals(mus_sqs->visible_quad_layer_rect)); 242 EXPECT_EQ(clip_rect, mus_sqs->clip_rect);
245 EXPECT_TRUE(Rect::From(clip_rect).Equals(mus_sqs->clip_rect));
246 EXPECT_EQ(is_clipped, mus_sqs->is_clipped); 243 EXPECT_EQ(is_clipped, mus_sqs->is_clipped);
247 EXPECT_EQ(opacity, mus_sqs->opacity); 244 EXPECT_EQ(opacity, mus_sqs->opacity);
248 EXPECT_EQ(sorting_context_id, mus_sqs->sorting_context_id); 245 EXPECT_EQ(sorting_context_id, mus_sqs->sorting_context_id);
249 } 246 }
250 247
251 TEST(SurfaceLibTest, RenderPass) { 248 TEST(SurfaceLibTest, RenderPass) {
252 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); 249 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
253 cc::RenderPassId pass_id(1, 6); 250 cc::RenderPassId pass_id(1, 6);
254 gfx::Rect output_rect(4, 9, 13, 71); 251 gfx::Rect output_rect(4, 9, 13, 71);
255 gfx::Rect damage_rect(9, 17, 41, 45); 252 gfx::Rect damage_rect(9, 17, 41, 45);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 bool secure_output_only = false; 309 bool secure_output_only = false;
313 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending, 310 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending,
314 resource_id, gfx::Size(), premultiplied_alpha, 311 resource_id, gfx::Size(), premultiplied_alpha,
315 uv_top_left, uv_bottom_right, background_color, 312 uv_top_left, uv_bottom_right, background_color,
316 vertex_opacity, y_flipped, nearest_neighbor, 313 vertex_opacity, y_flipped, nearest_neighbor,
317 secure_output_only); 314 secure_output_only);
318 315
319 PassPtr mus_pass = Pass::From(*pass); 316 PassPtr mus_pass = Pass::From(*pass);
320 ASSERT_FALSE(mus_pass.is_null()); 317 ASSERT_FALSE(mus_pass.is_null());
321 EXPECT_EQ(6u, mus_pass->id->index); 318 EXPECT_EQ(6u, mus_pass->id->index);
322 EXPECT_TRUE(Rect::From(output_rect).Equals(mus_pass->output_rect)); 319 EXPECT_EQ(output_rect, mus_pass->output_rect);
323 EXPECT_TRUE(Rect::From(damage_rect).Equals(mus_pass->damage_rect)); 320 EXPECT_EQ(damage_rect, mus_pass->damage_rect);
324 EXPECT_TRUE(Transform::From(transform_to_root_target) 321 EXPECT_TRUE(Transform::From(transform_to_root_target)
325 .Equals(mus_pass->transform_to_root_target)); 322 .Equals(mus_pass->transform_to_root_target));
326 EXPECT_EQ(has_transparent_background, mus_pass->has_transparent_background); 323 EXPECT_EQ(has_transparent_background, mus_pass->has_transparent_background);
327 ASSERT_EQ(1u, mus_pass->shared_quad_states.size()); 324 ASSERT_EQ(1u, mus_pass->shared_quad_states.size());
328 ASSERT_EQ(3u, mus_pass->quads.size()); 325 ASSERT_EQ(3u, mus_pass->quads.size());
329 EXPECT_EQ(0u, mus_pass->quads[0]->shared_quad_state_index); 326 EXPECT_EQ(0u, mus_pass->quads[0]->shared_quad_state_index);
330 327
331 std::unique_ptr<cc::RenderPass> round_trip_pass = 328 std::unique_ptr<cc::RenderPass> round_trip_pass =
332 mus_pass.To<std::unique_ptr<cc::RenderPass>>(); 329 mus_pass.To<std::unique_ptr<cc::RenderPass>>();
333 EXPECT_EQ(pass_id, round_trip_pass->id); 330 EXPECT_EQ(pass_id, round_trip_pass->id);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 resource.format = format; 399 resource.format = format;
403 resource.filter = filter; 400 resource.filter = filter;
404 resource.size = size; 401 resource.size = size;
405 resource.mailbox_holder = mailbox_holder; 402 resource.mailbox_holder = mailbox_holder;
406 resource.is_software = is_software; 403 resource.is_software = is_software;
407 404
408 TransferableResourcePtr mus_resource = TransferableResource::From(resource); 405 TransferableResourcePtr mus_resource = TransferableResource::From(resource);
409 EXPECT_EQ(id, mus_resource->id); 406 EXPECT_EQ(id, mus_resource->id);
410 EXPECT_EQ(static_cast<ResourceFormat>(format), mus_resource->format); 407 EXPECT_EQ(static_cast<ResourceFormat>(format), mus_resource->format);
411 EXPECT_EQ(filter, mus_resource->filter); 408 EXPECT_EQ(filter, mus_resource->filter);
412 EXPECT_TRUE(Size::From(size).Equals(mus_resource->size)); 409 EXPECT_EQ(size, mus_resource->size);
413 EXPECT_EQ(is_software, mus_resource->is_software); 410 EXPECT_EQ(is_software, mus_resource->is_software);
414 411
415 cc::TransferableResource round_trip_resource = 412 cc::TransferableResource round_trip_resource =
416 mus_resource.To<cc::TransferableResource>(); 413 mus_resource.To<cc::TransferableResource>();
417 EXPECT_EQ(id, round_trip_resource.id); 414 EXPECT_EQ(id, round_trip_resource.id);
418 EXPECT_EQ(format, round_trip_resource.format); 415 EXPECT_EQ(format, round_trip_resource.format);
419 EXPECT_EQ(filter, round_trip_resource.filter); 416 EXPECT_EQ(filter, round_trip_resource.filter);
420 EXPECT_EQ(size, round_trip_resource.size); 417 EXPECT_EQ(size, round_trip_resource.size);
421 EXPECT_EQ(mailbox_holder.mailbox, round_trip_resource.mailbox_holder.mailbox); 418 EXPECT_EQ(mailbox_holder.mailbox, round_trip_resource.mailbox_holder.mailbox);
422 EXPECT_EQ(mailbox_holder.texture_target, 419 EXPECT_EQ(mailbox_holder.texture_target,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 rect, 459 rect,
463 opaque_rect, 460 opaque_rect,
464 visible_rect, 461 visible_rect,
465 needs_blending, 462 needs_blending,
466 arbitrary_color, 463 arbitrary_color,
467 width); 464 width);
468 465
469 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*debug_border_quad); 466 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*debug_border_quad);
470 ASSERT_FALSE(mus_quad.is_null()); 467 ASSERT_FALSE(mus_quad.is_null());
471 EXPECT_EQ(mus::mojom::Material::DEBUG_BORDER, mus_quad->material); 468 EXPECT_EQ(mus::mojom::Material::DEBUG_BORDER, mus_quad->material);
472 EXPECT_TRUE(Rect::From(rect).Equals(mus_quad->rect)); 469 EXPECT_EQ(rect, mus_quad->rect);
473 EXPECT_TRUE(Rect::From(opaque_rect).Equals(mus_quad->opaque_rect)); 470 EXPECT_EQ(opaque_rect, mus_quad->opaque_rect);
474 EXPECT_TRUE(Rect::From(visible_rect).Equals(mus_quad->visible_rect)); 471 EXPECT_EQ(visible_rect, mus_quad->visible_rect);
475 EXPECT_EQ(needs_blending, mus_quad->needs_blending); 472 EXPECT_EQ(needs_blending, mus_quad->needs_blending);
476 ASSERT_TRUE(mus_quad->debug_border_quad_state); 473 ASSERT_TRUE(mus_quad->debug_border_quad_state);
477 DebugBorderQuadStatePtr& mus_debug_border_state = 474 DebugBorderQuadStatePtr& mus_debug_border_state =
478 mus_quad->debug_border_quad_state; 475 mus_quad->debug_border_quad_state;
479 EXPECT_TRUE( 476 EXPECT_TRUE(
480 Color::From(arbitrary_color).Equals(mus_debug_border_state->color)); 477 Color::From(arbitrary_color).Equals(mus_debug_border_state->color));
481 EXPECT_EQ(width, mus_debug_border_state->width); 478 EXPECT_EQ(width, mus_debug_border_state->width);
482 } 479 }
483 480
484 } // namespace 481 } // namespace
485 } // namespace mojo 482 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698