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

Side by Side Diff: mojo/services/public/cpp/surfaces/tests/surface_unittest.cc

Issue 398533002: Make DrawQuad constructors public, rm DQ::Create() function (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: call RenderPass function in mojo Created 6 years, 5 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 "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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 protected: 50 protected:
51 scoped_ptr<cc::SharedQuadState> sqs; 51 scoped_ptr<cc::SharedQuadState> sqs;
52 gfx::Rect rect; 52 gfx::Rect rect;
53 gfx::Rect opaque_rect; 53 gfx::Rect opaque_rect;
54 gfx::Rect visible_rect; 54 gfx::Rect visible_rect;
55 bool needs_blending; 55 bool needs_blending;
56 }; 56 };
57 57
58 TEST_F(SurfaceLibQuadTest, ColorQuad) { 58 TEST_F(SurfaceLibQuadTest, ColorQuad) {
59 scoped_ptr<cc::SolidColorDrawQuad> color_quad = 59 scoped_ptr<cc::SolidColorDrawQuad> color_quad =
60 cc::SolidColorDrawQuad::Create(); 60 make_scoped_ptr(new cc::SolidColorDrawQuad);
61 SkColor arbitrary_color = SK_ColorGREEN; 61 SkColor arbitrary_color = SK_ColorGREEN;
62 bool force_anti_aliasing_off = true; 62 bool force_anti_aliasing_off = true;
63 color_quad->SetAll(sqs.get(), 63 color_quad->SetAll(sqs.get(),
64 rect, 64 rect,
65 opaque_rect, 65 opaque_rect,
66 visible_rect, 66 visible_rect,
67 needs_blending, 67 needs_blending,
68 arbitrary_color, 68 arbitrary_color,
69 force_anti_aliasing_off); 69 force_anti_aliasing_off);
70 70
(...skipping 19 matching lines...) Expand all
90 EXPECT_EQ(needs_blending, round_trip_quad->needs_blending); 90 EXPECT_EQ(needs_blending, round_trip_quad->needs_blending);
91 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, round_trip_quad->material); 91 ASSERT_EQ(cc::DrawQuad::SOLID_COLOR, round_trip_quad->material);
92 const cc::SolidColorDrawQuad* round_trip_color_quad = 92 const cc::SolidColorDrawQuad* round_trip_color_quad =
93 cc::SolidColorDrawQuad::MaterialCast(round_trip_quad.get()); 93 cc::SolidColorDrawQuad::MaterialCast(round_trip_quad.get());
94 EXPECT_EQ(arbitrary_color, round_trip_color_quad->color); 94 EXPECT_EQ(arbitrary_color, round_trip_color_quad->color);
95 EXPECT_EQ(force_anti_aliasing_off, 95 EXPECT_EQ(force_anti_aliasing_off,
96 round_trip_color_quad->force_anti_aliasing_off); 96 round_trip_color_quad->force_anti_aliasing_off);
97 } 97 }
98 98
99 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { 99 TEST_F(SurfaceLibQuadTest, SurfaceQuad) {
100 scoped_ptr<cc::SurfaceDrawQuad> surface_quad = cc::SurfaceDrawQuad::Create(); 100 scoped_ptr<cc::SurfaceDrawQuad> surface_quad =
jamesr 2014/07/15 18:14:47 you can simplify this and the other construction o
weiliangc 2014/07/15 18:28:12 Done.
101 make_scoped_ptr(new cc::SurfaceDrawQuad);
101 cc::SurfaceId arbitrary_id(5); 102 cc::SurfaceId arbitrary_id(5);
102 surface_quad->SetAll( 103 surface_quad->SetAll(
103 sqs.get(), rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); 104 sqs.get(), rect, opaque_rect, visible_rect, needs_blending, arbitrary_id);
104 cc::DrawQuad* base_ptr = static_cast<cc::DrawQuad*>(surface_quad.get()); 105 cc::DrawQuad* base_ptr = static_cast<cc::DrawQuad*>(surface_quad.get());
105 surfaces::QuadPtr mojo_quad = surfaces::Quad::From(*base_ptr); 106 surfaces::QuadPtr mojo_quad = surfaces::Quad::From(*base_ptr);
106 ASSERT_FALSE(mojo_quad.is_null()); 107 ASSERT_FALSE(mojo_quad.is_null());
107 EXPECT_EQ(surfaces::SURFACE_CONTENT, mojo_quad->material); 108 EXPECT_EQ(surfaces::SURFACE_CONTENT, mojo_quad->material);
108 ASSERT_TRUE(mojo_quad->surface_quad_state); 109 ASSERT_TRUE(mojo_quad->surface_quad_state);
109 surfaces::SurfaceQuadStatePtr& mojo_surface_state = 110 surfaces::SurfaceQuadStatePtr& mojo_surface_state =
110 mojo_quad->surface_quad_state; 111 mojo_quad->surface_quad_state;
111 EXPECT_EQ(surfaces::SurfaceId::From(arbitrary_id), 112 EXPECT_EQ(surfaces::SurfaceId::From(arbitrary_id),
112 mojo_surface_state->surface); 113 mojo_surface_state->surface);
113 114
114 scoped_ptr<cc::DrawQuad> round_trip_quad = 115 scoped_ptr<cc::DrawQuad> round_trip_quad =
115 ConvertTo(mojo_quad.Pass(), sqs.get()); 116 ConvertTo(mojo_quad.Pass(), sqs.get());
116 ASSERT_EQ(cc::DrawQuad::SURFACE_CONTENT, round_trip_quad->material); 117 ASSERT_EQ(cc::DrawQuad::SURFACE_CONTENT, round_trip_quad->material);
117 const cc::SurfaceDrawQuad* round_trip_surface_quad = 118 const cc::SurfaceDrawQuad* round_trip_surface_quad =
118 cc::SurfaceDrawQuad::MaterialCast(round_trip_quad.get()); 119 cc::SurfaceDrawQuad::MaterialCast(round_trip_quad.get());
119 EXPECT_EQ(arbitrary_id, round_trip_surface_quad->surface_id); 120 EXPECT_EQ(arbitrary_id, round_trip_surface_quad->surface_id);
120 } 121 }
121 122
122 TEST_F(SurfaceLibQuadTest, TextureQuad) { 123 TEST_F(SurfaceLibQuadTest, TextureQuad) {
123 scoped_ptr<cc::TextureDrawQuad> texture_quad = cc::TextureDrawQuad::Create(); 124 scoped_ptr<cc::TextureDrawQuad> texture_quad =
125 make_scoped_ptr(new cc::TextureDrawQuad);
124 unsigned resource_id = 9; 126 unsigned resource_id = 9;
125 bool premultiplied_alpha = true; 127 bool premultiplied_alpha = true;
126 gfx::PointF uv_top_left(1.7f, 2.1f); 128 gfx::PointF uv_top_left(1.7f, 2.1f);
127 gfx::PointF uv_bottom_right(-7.f, 16.3f); 129 gfx::PointF uv_bottom_right(-7.f, 16.3f);
128 SkColor background_color = SK_ColorYELLOW; 130 SkColor background_color = SK_ColorYELLOW;
129 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; 131 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
130 bool flipped = false; 132 bool flipped = false;
131 texture_quad->SetAll(sqs.get(), 133 texture_quad->SetAll(sqs.get(),
132 rect, 134 rect,
133 opaque_rect, 135 opaque_rect,
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 236
235 gfx::Transform content_to_target_transform; 237 gfx::Transform content_to_target_transform;
236 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); 238 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f);
237 gfx::Size content_bounds(57, 39); 239 gfx::Size content_bounds(57, 39);
238 gfx::Rect visible_content_rect(3, 7, 28, 42); 240 gfx::Rect visible_content_rect(3, 7, 28, 42);
239 gfx::Rect clip_rect(9, 12, 21, 31); 241 gfx::Rect clip_rect(9, 12, 21, 31);
240 bool is_clipped = true; 242 bool is_clipped = true;
241 float opacity = 0.65f; 243 float opacity = 0.65f;
242 int sorting_context_id = 13; 244 int sorting_context_id = 13;
243 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; 245 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode;
244 scoped_ptr<cc::SharedQuadState> sqs(new cc::SharedQuadState); 246 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState();
245 sqs->SetAll(content_to_target_transform, 247 sqs->SetAll(content_to_target_transform,
246 content_bounds, 248 content_bounds,
247 visible_content_rect, 249 visible_content_rect,
248 clip_rect, 250 clip_rect,
249 is_clipped, 251 is_clipped,
250 opacity, 252 opacity,
251 blend_mode, 253 blend_mode,
252 sorting_context_id); 254 sorting_context_id);
253 pass->shared_quad_state_list.push_back(sqs.Pass());
254 255
255 scoped_ptr<cc::SolidColorDrawQuad> color_quad = 256 cc::SolidColorDrawQuad* color_quad =
256 cc::SolidColorDrawQuad::Create(); 257 pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>();
257 SkColor arbitrary_color = SK_ColorGREEN; 258 SkColor arbitrary_color = SK_ColorGREEN;
258 bool force_anti_aliasing_off = true; 259 bool force_anti_aliasing_off = true;
259 color_quad->SetAll(pass->shared_quad_state_list.back(), 260 color_quad->SetAll(pass->shared_quad_state_list.back(),
260 rect, 261 rect,
261 opaque_rect, 262 opaque_rect,
262 visible_rect, 263 visible_rect,
263 needs_blending, 264 needs_blending,
264 arbitrary_color, 265 arbitrary_color,
265 force_anti_aliasing_off); 266 force_anti_aliasing_off);
266 pass->quad_list.push_back(color_quad.PassAs<cc::DrawQuad>());
267 267
268 surfaces::PassPtr mojo_pass = surfaces::Pass::From(*pass); 268 surfaces::PassPtr mojo_pass = surfaces::Pass::From(*pass);
269 ASSERT_FALSE(mojo_pass.is_null()); 269 ASSERT_FALSE(mojo_pass.is_null());
270 EXPECT_EQ(6, mojo_pass->id); 270 EXPECT_EQ(6, mojo_pass->id);
271 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect); 271 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect);
272 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect); 272 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect);
273 EXPECT_EQ(Transform::From(transform_to_root_target), 273 EXPECT_EQ(Transform::From(transform_to_root_target),
274 mojo_pass->transform_to_root_target); 274 mojo_pass->transform_to_root_target);
275 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background); 275 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background);
276 ASSERT_EQ(1u, mojo_pass->shared_quad_states.size()); 276 ASSERT_EQ(1u, mojo_pass->shared_quad_states.size());
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 cc::ReturnedResource round_trip_resource = 384 cc::ReturnedResource round_trip_resource =
385 mojo_resource.To<cc::ReturnedResource>(); 385 mojo_resource.To<cc::ReturnedResource>();
386 EXPECT_EQ(id, round_trip_resource.id); 386 EXPECT_EQ(id, round_trip_resource.id);
387 EXPECT_EQ(sync_point, round_trip_resource.sync_point); 387 EXPECT_EQ(sync_point, round_trip_resource.sync_point);
388 EXPECT_EQ(count, round_trip_resource.count); 388 EXPECT_EQ(count, round_trip_resource.count);
389 EXPECT_EQ(lost, round_trip_resource.lost); 389 EXPECT_EQ(lost, round_trip_resource.lost);
390 } 390 }
391 391
392 } // namespace 392 } // namespace
393 } // namespace mojo 393 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698