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

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

Issue 1135813005: Add detection for rotation and flip overlay transforms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix mojo surfaces unit test, chase flipped rename to TextureQuadState Created 5 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
« no previous file with comments | « mojo/converters/surfaces/surfaces_type_converters.cc ('k') | ui/gfx/overlay_transform.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 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 "cc/quads/render_pass.h" 5 #include "cc/quads/render_pass.h"
6 #include "cc/quads/solid_color_draw_quad.h" 6 #include "cc/quads/solid_color_draw_quad.h"
7 #include "cc/quads/surface_draw_quad.h" 7 #include "cc/quads/surface_draw_quad.h"
8 #include "cc/quads/texture_draw_quad.h" 8 #include "cc/quads/texture_draw_quad.h"
9 #include "gpu/command_buffer/common/mailbox.h" 9 #include "gpu/command_buffer/common/mailbox.h"
10 #include "gpu/command_buffer/common/mailbox_holder.h" 10 #include "gpu/command_buffer/common/mailbox_holder.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 101
102 TEST_F(SurfaceLibQuadTest, TextureQuad) { 102 TEST_F(SurfaceLibQuadTest, TextureQuad) {
103 cc::TextureDrawQuad* texture_quad = 103 cc::TextureDrawQuad* texture_quad =
104 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); 104 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>();
105 unsigned resource_id = 9; 105 unsigned resource_id = 9;
106 bool premultiplied_alpha = true; 106 bool premultiplied_alpha = true;
107 gfx::PointF uv_top_left(1.7f, 2.1f); 107 gfx::PointF uv_top_left(1.7f, 2.1f);
108 gfx::PointF uv_bottom_right(-7.f, 16.3f); 108 gfx::PointF uv_bottom_right(-7.f, 16.3f);
109 SkColor background_color = SK_ColorYELLOW; 109 SkColor background_color = SK_ColorYELLOW;
110 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; 110 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
111 bool flipped = false; 111 bool y_flipped = false;
112 bool nearest_neighbor = false; 112 bool nearest_neighbor = false;
113 texture_quad->SetAll(sqs, 113 texture_quad->SetAll(sqs,
114 rect, 114 rect,
115 opaque_rect, 115 opaque_rect,
116 visible_rect, 116 visible_rect,
117 needs_blending, 117 needs_blending,
118 resource_id, 118 resource_id,
119 premultiplied_alpha, 119 premultiplied_alpha,
120 uv_top_left, 120 uv_top_left,
121 uv_bottom_right, 121 uv_bottom_right,
122 background_color, 122 background_color,
123 vertex_opacity, 123 vertex_opacity,
124 flipped, 124 y_flipped,
125 nearest_neighbor); 125 nearest_neighbor);
126 126
127 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*texture_quad); 127 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*texture_quad);
128 ASSERT_FALSE(mojo_quad.is_null()); 128 ASSERT_FALSE(mojo_quad.is_null());
129 EXPECT_EQ(MATERIAL_TEXTURE_CONTENT, mojo_quad->material); 129 EXPECT_EQ(MATERIAL_TEXTURE_CONTENT, mojo_quad->material);
130 ASSERT_TRUE(mojo_quad->texture_quad_state); 130 ASSERT_TRUE(mojo_quad->texture_quad_state);
131 TextureQuadStatePtr& mojo_texture_state = mojo_quad->texture_quad_state; 131 TextureQuadStatePtr& mojo_texture_state = mojo_quad->texture_quad_state;
132 EXPECT_EQ(resource_id, mojo_texture_state->resource_id); 132 EXPECT_EQ(resource_id, mojo_texture_state->resource_id);
133 EXPECT_EQ(premultiplied_alpha, mojo_texture_state->premultiplied_alpha); 133 EXPECT_EQ(premultiplied_alpha, mojo_texture_state->premultiplied_alpha);
134 EXPECT_EQ(PointF::From(uv_top_left), mojo_texture_state->uv_top_left); 134 EXPECT_EQ(PointF::From(uv_top_left), mojo_texture_state->uv_top_left);
135 EXPECT_EQ(PointF::From(uv_bottom_right), mojo_texture_state->uv_bottom_right); 135 EXPECT_EQ(PointF::From(uv_bottom_right), mojo_texture_state->uv_bottom_right);
136 EXPECT_EQ(Color::From(background_color), 136 EXPECT_EQ(Color::From(background_color),
137 mojo_texture_state->background_color); 137 mojo_texture_state->background_color);
138 for (size_t i = 0; i < 4; ++i) { 138 for (size_t i = 0; i < 4; ++i) {
139 EXPECT_EQ(vertex_opacity[i], mojo_texture_state->vertex_opacity[i]) << i; 139 EXPECT_EQ(vertex_opacity[i], mojo_texture_state->vertex_opacity[i]) << i;
140 } 140 }
141 EXPECT_EQ(flipped, mojo_texture_state->flipped); 141 EXPECT_EQ(y_flipped, mojo_texture_state->y_flipped);
142 } 142 }
143 143
144 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { 144 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) {
145 QuadPtr mojo_texture_quad = Quad::New(); 145 QuadPtr mojo_texture_quad = Quad::New();
146 mojo_texture_quad->material = MATERIAL_TEXTURE_CONTENT; 146 mojo_texture_quad->material = MATERIAL_TEXTURE_CONTENT;
147 TextureQuadStatePtr mojo_texture_state = TextureQuadState::New(); 147 TextureQuadStatePtr mojo_texture_state = TextureQuadState::New();
148 mojo_texture_state->background_color = Color::New(); 148 mojo_texture_state->background_color = Color::New();
149 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass(); 149 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass();
150 PassPtr mojo_pass = Pass::New(); 150 PassPtr mojo_pass = Pass::New();
151 mojo_pass->id = RenderPassId::New(); 151 mojo_pass->id = RenderPassId::New();
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); 268 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id);
269 269
270 cc::TextureDrawQuad* texture_quad = 270 cc::TextureDrawQuad* texture_quad =
271 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); 271 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>();
272 unsigned resource_id = 9; 272 unsigned resource_id = 9;
273 bool premultiplied_alpha = true; 273 bool premultiplied_alpha = true;
274 gfx::PointF uv_top_left(1.7f, 2.1f); 274 gfx::PointF uv_top_left(1.7f, 2.1f);
275 gfx::PointF uv_bottom_right(-7.f, 16.3f); 275 gfx::PointF uv_bottom_right(-7.f, 16.3f);
276 SkColor background_color = SK_ColorYELLOW; 276 SkColor background_color = SK_ColorYELLOW;
277 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; 277 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
278 bool flipped = false; 278 bool y_flipped = false;
279 bool nearest_neighbor = false; 279 bool nearest_neighbor = false;
280 texture_quad->SetAll(sqs, 280 texture_quad->SetAll(sqs,
281 rect, 281 rect,
282 opaque_rect, 282 opaque_rect,
283 visible_rect, 283 visible_rect,
284 needs_blending, 284 needs_blending,
285 resource_id, 285 resource_id,
286 premultiplied_alpha, 286 premultiplied_alpha,
287 uv_top_left, 287 uv_top_left,
288 uv_bottom_right, 288 uv_bottom_right,
289 background_color, 289 background_color,
290 vertex_opacity, 290 vertex_opacity,
291 flipped, 291 y_flipped,
292 nearest_neighbor); 292 nearest_neighbor);
293 293
294 PassPtr mojo_pass = Pass::From(*pass); 294 PassPtr mojo_pass = Pass::From(*pass);
295 ASSERT_FALSE(mojo_pass.is_null()); 295 ASSERT_FALSE(mojo_pass.is_null());
296 EXPECT_EQ(6, mojo_pass->id->index); 296 EXPECT_EQ(6, mojo_pass->id->index);
297 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect); 297 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect);
298 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect); 298 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect);
299 EXPECT_EQ(Transform::From(transform_to_root_target), 299 EXPECT_EQ(Transform::From(transform_to_root_target),
300 mojo_pass->transform_to_root_target); 300 mojo_pass->transform_to_root_target);
301 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background); 301 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 cc::TextureDrawQuad::MaterialCast(round_trip_quad); 355 cc::TextureDrawQuad::MaterialCast(round_trip_quad);
356 EXPECT_EQ(resource_id, round_trip_texture_quad->resource_id); 356 EXPECT_EQ(resource_id, round_trip_texture_quad->resource_id);
357 EXPECT_EQ(premultiplied_alpha, round_trip_texture_quad->premultiplied_alpha); 357 EXPECT_EQ(premultiplied_alpha, round_trip_texture_quad->premultiplied_alpha);
358 EXPECT_EQ(uv_top_left, round_trip_texture_quad->uv_top_left); 358 EXPECT_EQ(uv_top_left, round_trip_texture_quad->uv_top_left);
359 EXPECT_EQ(uv_bottom_right, round_trip_texture_quad->uv_bottom_right); 359 EXPECT_EQ(uv_bottom_right, round_trip_texture_quad->uv_bottom_right);
360 EXPECT_EQ(background_color, round_trip_texture_quad->background_color); 360 EXPECT_EQ(background_color, round_trip_texture_quad->background_color);
361 for (size_t i = 0; i < 4; ++i) { 361 for (size_t i = 0; i < 4; ++i) {
362 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i]) 362 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i])
363 << i; 363 << i;
364 } 364 }
365 EXPECT_EQ(flipped, round_trip_texture_quad->flipped); 365 EXPECT_EQ(y_flipped, round_trip_texture_quad->y_flipped);
366 } 366 }
367 367
368 TEST(SurfaceLibTest, Mailbox) { 368 TEST(SurfaceLibTest, Mailbox) {
369 gpu::Mailbox mailbox; 369 gpu::Mailbox mailbox;
370 mailbox.Generate(); 370 mailbox.Generate();
371 371
372 MailboxPtr mojo_mailbox = Mailbox::From(mailbox); 372 MailboxPtr mojo_mailbox = Mailbox::From(mailbox);
373 EXPECT_EQ(0, memcmp(mailbox.name, &mojo_mailbox->name.storage()[0], 64)); 373 EXPECT_EQ(0, memcmp(mailbox.name, &mojo_mailbox->name.storage()[0], 64));
374 374
375 gpu::Mailbox round_trip_mailbox = mojo_mailbox.To<gpu::Mailbox>(); 375 gpu::Mailbox round_trip_mailbox = mojo_mailbox.To<gpu::Mailbox>();
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 cc::ReturnedResource round_trip_resource = 462 cc::ReturnedResource round_trip_resource =
463 mojo_resource.To<cc::ReturnedResource>(); 463 mojo_resource.To<cc::ReturnedResource>();
464 EXPECT_EQ(id, round_trip_resource.id); 464 EXPECT_EQ(id, round_trip_resource.id);
465 EXPECT_EQ(sync_point, round_trip_resource.sync_point); 465 EXPECT_EQ(sync_point, round_trip_resource.sync_point);
466 EXPECT_EQ(count, round_trip_resource.count); 466 EXPECT_EQ(count, round_trip_resource.count);
467 EXPECT_EQ(lost, round_trip_resource.lost); 467 EXPECT_EQ(lost, round_trip_resource.lost);
468 } 468 }
469 469
470 } // namespace 470 } // namespace
471 } // namespace mojo 471 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/converters/surfaces/surfaces_type_converters.cc ('k') | ui/gfx/overlay_transform.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698