OLD | NEW |
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" |
11 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h" | 11 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h" |
12 #include "mojo/services/public/cpp/surfaces/surfaces_type_converters.h" | 12 #include "mojo/services/public/cpp/surfaces/surfaces_type_converters.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 #include "third_party/skia/include/core/SkColor.h" | 14 #include "third_party/skia/include/core/SkColor.h" |
15 #include "third_party/skia/include/core/SkXfermode.h" | 15 #include "third_party/skia/include/core/SkXfermode.h" |
16 | 16 |
17 namespace mojo { | 17 namespace mojo { |
18 namespace { | 18 namespace { |
19 | 19 |
20 TEST(SurfaceLibTest, SurfaceIdConverterNullId) { | 20 TEST(SurfaceLibTest, SurfaceIdConverterNullId) { |
21 cc::SurfaceId null_id; | 21 cc::SurfaceId null_id; |
22 cc::SurfaceId round_trip = | 22 cc::SurfaceId round_trip = SurfaceId::From(null_id).To<cc::SurfaceId>(); |
23 surfaces::SurfaceId::From(null_id).To<cc::SurfaceId>(); | |
24 EXPECT_TRUE(round_trip.is_null()); | 23 EXPECT_TRUE(round_trip.is_null()); |
25 } | 24 } |
26 | 25 |
27 TEST(SurfaceLibTest, SurfaceIdConverterValidId) { | 26 TEST(SurfaceLibTest, SurfaceIdConverterValidId) { |
28 cc::SurfaceId valid_id(7); | 27 cc::SurfaceId valid_id(7); |
29 cc::SurfaceId round_trip = | 28 cc::SurfaceId round_trip = SurfaceId::From(valid_id).To<cc::SurfaceId>(); |
30 surfaces::SurfaceId::From(valid_id).To<cc::SurfaceId>(); | |
31 EXPECT_FALSE(round_trip.is_null()); | 29 EXPECT_FALSE(round_trip.is_null()); |
32 EXPECT_EQ(valid_id, round_trip); | 30 EXPECT_EQ(valid_id, round_trip); |
33 } | 31 } |
34 | 32 |
35 TEST(SurfaceLibTest, Color) { | 33 TEST(SurfaceLibTest, Color) { |
36 SkColor arbitrary_color = SK_ColorMAGENTA; | 34 SkColor arbitrary_color = SK_ColorMAGENTA; |
37 SkColor round_trip = surfaces::Color::From(arbitrary_color).To<SkColor>(); | 35 SkColor round_trip = Color::From(arbitrary_color).To<SkColor>(); |
38 EXPECT_EQ(arbitrary_color, round_trip); | 36 EXPECT_EQ(arbitrary_color, round_trip); |
39 } | 37 } |
40 | 38 |
41 class SurfaceLibQuadTest : public testing::Test { | 39 class SurfaceLibQuadTest : public testing::Test { |
42 public: | 40 public: |
43 SurfaceLibQuadTest() | 41 SurfaceLibQuadTest() |
44 : rect(5, 7, 13, 19), | 42 : rect(5, 7, 13, 19), |
45 opaque_rect(rect), | 43 opaque_rect(rect), |
46 visible_rect(9, 11, 5, 7), | 44 visible_rect(9, 11, 5, 7), |
47 needs_blending(false) { | 45 needs_blending(false) { |
(...skipping 16 matching lines...) Expand all Loading... |
64 SkColor arbitrary_color = SK_ColorGREEN; | 62 SkColor arbitrary_color = SK_ColorGREEN; |
65 bool force_anti_aliasing_off = true; | 63 bool force_anti_aliasing_off = true; |
66 color_quad->SetAll(sqs, | 64 color_quad->SetAll(sqs, |
67 rect, | 65 rect, |
68 opaque_rect, | 66 opaque_rect, |
69 visible_rect, | 67 visible_rect, |
70 needs_blending, | 68 needs_blending, |
71 arbitrary_color, | 69 arbitrary_color, |
72 force_anti_aliasing_off); | 70 force_anti_aliasing_off); |
73 | 71 |
74 surfaces::QuadPtr mojo_quad = surfaces::Quad::From(*(pass->quad_list.back())); | 72 QuadPtr mojo_quad = Quad::From(*(pass->quad_list.back())); |
75 ASSERT_FALSE(mojo_quad.is_null()); | 73 ASSERT_FALSE(mojo_quad.is_null()); |
76 EXPECT_EQ(surfaces::MATERIAL_SOLID_COLOR, mojo_quad->material); | 74 EXPECT_EQ(MATERIAL_SOLID_COLOR, mojo_quad->material); |
77 EXPECT_EQ(Rect::From(rect), mojo_quad->rect); | 75 EXPECT_EQ(Rect::From(rect), mojo_quad->rect); |
78 EXPECT_EQ(Rect::From(opaque_rect), mojo_quad->opaque_rect); | 76 EXPECT_EQ(Rect::From(opaque_rect), mojo_quad->opaque_rect); |
79 EXPECT_EQ(Rect::From(visible_rect), mojo_quad->visible_rect); | 77 EXPECT_EQ(Rect::From(visible_rect), mojo_quad->visible_rect); |
80 EXPECT_EQ(needs_blending, mojo_quad->needs_blending); | 78 EXPECT_EQ(needs_blending, mojo_quad->needs_blending); |
81 ASSERT_TRUE(mojo_quad->solid_color_quad_state); | 79 ASSERT_TRUE(mojo_quad->solid_color_quad_state); |
82 surfaces::SolidColorQuadStatePtr& mojo_color_state = | 80 SolidColorQuadStatePtr& mojo_color_state = mojo_quad->solid_color_quad_state; |
83 mojo_quad->solid_color_quad_state; | 81 EXPECT_EQ(Color::From(arbitrary_color), mojo_color_state->color); |
84 EXPECT_EQ(surfaces::Color::From(arbitrary_color), mojo_color_state->color); | |
85 EXPECT_EQ(force_anti_aliasing_off, mojo_color_state->force_anti_aliasing_off); | 82 EXPECT_EQ(force_anti_aliasing_off, mojo_color_state->force_anti_aliasing_off); |
86 } | 83 } |
87 | 84 |
88 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { | 85 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { |
89 cc::SurfaceDrawQuad* surface_quad = | 86 cc::SurfaceDrawQuad* surface_quad = |
90 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); | 87 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); |
91 cc::SurfaceId arbitrary_id(5); | 88 cc::SurfaceId arbitrary_id(5); |
92 surface_quad->SetAll( | 89 surface_quad->SetAll( |
93 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); | 90 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); |
94 | 91 |
95 surfaces::QuadPtr mojo_quad = surfaces::Quad::From(*(pass->quad_list.back())); | 92 QuadPtr mojo_quad = Quad::From(*(pass->quad_list.back())); |
96 ASSERT_FALSE(mojo_quad.is_null()); | 93 ASSERT_FALSE(mojo_quad.is_null()); |
97 EXPECT_EQ(surfaces::MATERIAL_SURFACE_CONTENT, mojo_quad->material); | 94 EXPECT_EQ(MATERIAL_SURFACE_CONTENT, mojo_quad->material); |
98 ASSERT_TRUE(mojo_quad->surface_quad_state); | 95 ASSERT_TRUE(mojo_quad->surface_quad_state); |
99 surfaces::SurfaceQuadStatePtr& mojo_surface_state = | 96 SurfaceQuadStatePtr& mojo_surface_state = mojo_quad->surface_quad_state; |
100 mojo_quad->surface_quad_state; | 97 EXPECT_EQ(SurfaceId::From(arbitrary_id), |
101 EXPECT_EQ(surfaces::SurfaceId::From(arbitrary_id), | |
102 mojo_surface_state->surface); | 98 mojo_surface_state->surface); |
103 } | 99 } |
104 | 100 |
105 TEST_F(SurfaceLibQuadTest, TextureQuad) { | 101 TEST_F(SurfaceLibQuadTest, TextureQuad) { |
106 cc::TextureDrawQuad* texture_quad = | 102 cc::TextureDrawQuad* texture_quad = |
107 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); | 103 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); |
108 unsigned resource_id = 9; | 104 unsigned resource_id = 9; |
109 bool premultiplied_alpha = true; | 105 bool premultiplied_alpha = true; |
110 gfx::PointF uv_top_left(1.7f, 2.1f); | 106 gfx::PointF uv_top_left(1.7f, 2.1f); |
111 gfx::PointF uv_bottom_right(-7.f, 16.3f); | 107 gfx::PointF uv_bottom_right(-7.f, 16.3f); |
112 SkColor background_color = SK_ColorYELLOW; | 108 SkColor background_color = SK_ColorYELLOW; |
113 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; | 109 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; |
114 bool flipped = false; | 110 bool flipped = false; |
115 texture_quad->SetAll(sqs, | 111 texture_quad->SetAll(sqs, |
116 rect, | 112 rect, |
117 opaque_rect, | 113 opaque_rect, |
118 visible_rect, | 114 visible_rect, |
119 needs_blending, | 115 needs_blending, |
120 resource_id, | 116 resource_id, |
121 premultiplied_alpha, | 117 premultiplied_alpha, |
122 uv_top_left, | 118 uv_top_left, |
123 uv_bottom_right, | 119 uv_bottom_right, |
124 background_color, | 120 background_color, |
125 vertex_opacity, | 121 vertex_opacity, |
126 flipped); | 122 flipped); |
127 | 123 |
128 surfaces::QuadPtr mojo_quad = surfaces::Quad::From(*(pass->quad_list.back())); | 124 QuadPtr mojo_quad = Quad::From(*(pass->quad_list.back())); |
129 ASSERT_FALSE(mojo_quad.is_null()); | 125 ASSERT_FALSE(mojo_quad.is_null()); |
130 EXPECT_EQ(surfaces::MATERIAL_TEXTURE_CONTENT, mojo_quad->material); | 126 EXPECT_EQ(MATERIAL_TEXTURE_CONTENT, mojo_quad->material); |
131 ASSERT_TRUE(mojo_quad->texture_quad_state); | 127 ASSERT_TRUE(mojo_quad->texture_quad_state); |
132 surfaces::TextureQuadStatePtr& mojo_texture_state = | 128 TextureQuadStatePtr& mojo_texture_state = mojo_quad->texture_quad_state; |
133 mojo_quad->texture_quad_state; | |
134 EXPECT_EQ(resource_id, mojo_texture_state->resource_id); | 129 EXPECT_EQ(resource_id, mojo_texture_state->resource_id); |
135 EXPECT_EQ(premultiplied_alpha, mojo_texture_state->premultiplied_alpha); | 130 EXPECT_EQ(premultiplied_alpha, mojo_texture_state->premultiplied_alpha); |
136 EXPECT_EQ(PointF::From(uv_top_left), mojo_texture_state->uv_top_left); | 131 EXPECT_EQ(PointF::From(uv_top_left), mojo_texture_state->uv_top_left); |
137 EXPECT_EQ(PointF::From(uv_bottom_right), mojo_texture_state->uv_bottom_right); | 132 EXPECT_EQ(PointF::From(uv_bottom_right), mojo_texture_state->uv_bottom_right); |
138 EXPECT_EQ(surfaces::Color::From(background_color), | 133 EXPECT_EQ(Color::From(background_color), |
139 mojo_texture_state->background_color); | 134 mojo_texture_state->background_color); |
140 for (size_t i = 0; i < 4; ++i) { | 135 for (size_t i = 0; i < 4; ++i) { |
141 EXPECT_EQ(vertex_opacity[i], mojo_texture_state->vertex_opacity[i]) << i; | 136 EXPECT_EQ(vertex_opacity[i], mojo_texture_state->vertex_opacity[i]) << i; |
142 } | 137 } |
143 EXPECT_EQ(flipped, mojo_texture_state->flipped); | 138 EXPECT_EQ(flipped, mojo_texture_state->flipped); |
144 } | 139 } |
145 | 140 |
146 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { | 141 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { |
147 surfaces::QuadPtr mojo_texture_quad = surfaces::Quad::New(); | 142 QuadPtr mojo_texture_quad = Quad::New(); |
148 mojo_texture_quad->material = surfaces::MATERIAL_TEXTURE_CONTENT; | 143 mojo_texture_quad->material = MATERIAL_TEXTURE_CONTENT; |
149 surfaces::TextureQuadStatePtr mojo_texture_state = | 144 TextureQuadStatePtr mojo_texture_state = TextureQuadState::New(); |
150 surfaces::TextureQuadState::New(); | 145 mojo_texture_state->background_color = Color::New(); |
151 mojo_texture_state->background_color = surfaces::Color::New(); | |
152 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass(); | 146 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass(); |
153 surfaces::PassPtr mojo_pass = surfaces::Pass::New(); | 147 PassPtr mojo_pass = Pass::New(); |
154 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); | 148 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); |
155 surfaces::SharedQuadStatePtr mojo_sqs = surfaces::SharedQuadState::New(); | 149 SharedQuadStatePtr mojo_sqs = SharedQuadState::New(); |
156 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); | 150 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); |
157 | 151 |
158 scoped_ptr<cc::RenderPass> pass = ConvertTo(mojo_pass.Pass()); | 152 scoped_ptr<cc::RenderPass> pass = ConvertTo(mojo_pass.Pass()); |
159 EXPECT_FALSE(pass); | 153 EXPECT_FALSE(pass); |
160 } | 154 } |
161 | 155 |
162 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) { | 156 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) { |
163 surfaces::QuadPtr mojo_texture_quad = surfaces::Quad::New(); | 157 QuadPtr mojo_texture_quad = Quad::New(); |
164 mojo_texture_quad->material = surfaces::MATERIAL_TEXTURE_CONTENT; | 158 mojo_texture_quad->material = MATERIAL_TEXTURE_CONTENT; |
165 surfaces::TextureQuadStatePtr mojo_texture_state = | 159 TextureQuadStatePtr mojo_texture_state = TextureQuadState::New(); |
166 surfaces::TextureQuadState::New(); | |
167 mojo_texture_state->vertex_opacity = mojo::Array<float>::New(4); | 160 mojo_texture_state->vertex_opacity = mojo::Array<float>::New(4); |
168 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass(); | 161 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass(); |
169 surfaces::PassPtr mojo_pass = surfaces::Pass::New(); | 162 PassPtr mojo_pass = Pass::New(); |
170 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); | 163 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); |
171 surfaces::SharedQuadStatePtr mojo_sqs = surfaces::SharedQuadState::New(); | 164 SharedQuadStatePtr mojo_sqs = SharedQuadState::New(); |
172 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); | 165 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); |
173 | 166 |
174 scoped_ptr<cc::RenderPass> pass = ConvertTo(mojo_pass.Pass()); | 167 scoped_ptr<cc::RenderPass> pass = ConvertTo(mojo_pass.Pass()); |
175 EXPECT_FALSE(pass); | 168 EXPECT_FALSE(pass); |
176 } | 169 } |
177 | 170 |
178 TEST(SurfaceLibTest, SharedQuadState) { | 171 TEST(SurfaceLibTest, SharedQuadState) { |
179 gfx::Transform content_to_target_transform; | 172 gfx::Transform content_to_target_transform; |
180 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); | 173 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); |
181 gfx::Size content_bounds(57, 39); | 174 gfx::Size content_bounds(57, 39); |
182 gfx::Rect visible_content_rect(3, 7, 28, 42); | 175 gfx::Rect visible_content_rect(3, 7, 28, 42); |
183 gfx::Rect clip_rect(9, 12, 21, 31); | 176 gfx::Rect clip_rect(9, 12, 21, 31); |
184 bool is_clipped = true; | 177 bool is_clipped = true; |
185 float opacity = 0.65f; | 178 float opacity = 0.65f; |
186 int sorting_context_id = 13; | 179 int sorting_context_id = 13; |
187 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; | 180 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; |
188 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | 181 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); |
189 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | 182 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); |
190 sqs->SetAll(content_to_target_transform, | 183 sqs->SetAll(content_to_target_transform, |
191 content_bounds, | 184 content_bounds, |
192 visible_content_rect, | 185 visible_content_rect, |
193 clip_rect, | 186 clip_rect, |
194 is_clipped, | 187 is_clipped, |
195 opacity, | 188 opacity, |
196 blend_mode, | 189 blend_mode, |
197 sorting_context_id); | 190 sorting_context_id); |
198 | 191 |
199 surfaces::SharedQuadStatePtr mojo_sqs = surfaces::SharedQuadState::From(*sqs); | 192 SharedQuadStatePtr mojo_sqs = SharedQuadState::From(*sqs); |
200 ASSERT_FALSE(mojo_sqs.is_null()); | 193 ASSERT_FALSE(mojo_sqs.is_null()); |
201 EXPECT_EQ(Transform::From(content_to_target_transform), | 194 EXPECT_EQ(Transform::From(content_to_target_transform), |
202 mojo_sqs->content_to_target_transform); | 195 mojo_sqs->content_to_target_transform); |
203 EXPECT_EQ(Size::From(content_bounds), mojo_sqs->content_bounds); | 196 EXPECT_EQ(Size::From(content_bounds), mojo_sqs->content_bounds); |
204 EXPECT_EQ(Rect::From(visible_content_rect), mojo_sqs->visible_content_rect); | 197 EXPECT_EQ(Rect::From(visible_content_rect), mojo_sqs->visible_content_rect); |
205 EXPECT_EQ(Rect::From(clip_rect), mojo_sqs->clip_rect); | 198 EXPECT_EQ(Rect::From(clip_rect), mojo_sqs->clip_rect); |
206 EXPECT_EQ(is_clipped, mojo_sqs->is_clipped); | 199 EXPECT_EQ(is_clipped, mojo_sqs->is_clipped); |
207 EXPECT_EQ(opacity, mojo_sqs->opacity); | 200 EXPECT_EQ(opacity, mojo_sqs->opacity); |
208 EXPECT_EQ(sorting_context_id, mojo_sqs->sorting_context_id); | 201 EXPECT_EQ(sorting_context_id, mojo_sqs->sorting_context_id); |
209 } | 202 } |
(...skipping 13 matching lines...) Expand all Loading... |
223 has_transparent_background); | 216 has_transparent_background); |
224 | 217 |
225 gfx::Transform content_to_target_transform; | 218 gfx::Transform content_to_target_transform; |
226 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); | 219 content_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); |
227 gfx::Size content_bounds(57, 39); | 220 gfx::Size content_bounds(57, 39); |
228 gfx::Rect visible_content_rect(3, 7, 28, 42); | 221 gfx::Rect visible_content_rect(3, 7, 28, 42); |
229 gfx::Rect clip_rect(9, 12, 21, 31); | 222 gfx::Rect clip_rect(9, 12, 21, 31); |
230 bool is_clipped = true; | 223 bool is_clipped = true; |
231 float opacity = 0.65f; | 224 float opacity = 0.65f; |
232 int sorting_context_id = 13; | 225 int sorting_context_id = 13; |
233 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; | 226 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; |
234 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | 227 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); |
235 sqs->SetAll(content_to_target_transform, | 228 sqs->SetAll(content_to_target_transform, |
236 content_bounds, | 229 content_bounds, |
237 visible_content_rect, | 230 visible_content_rect, |
238 clip_rect, | 231 clip_rect, |
239 is_clipped, | 232 is_clipped, |
240 opacity, | 233 opacity, |
241 blend_mode, | 234 blend_mode, |
242 sorting_context_id); | 235 sorting_context_id); |
243 | 236 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 visible_rect, | 272 visible_rect, |
280 needs_blending, | 273 needs_blending, |
281 resource_id, | 274 resource_id, |
282 premultiplied_alpha, | 275 premultiplied_alpha, |
283 uv_top_left, | 276 uv_top_left, |
284 uv_bottom_right, | 277 uv_bottom_right, |
285 background_color, | 278 background_color, |
286 vertex_opacity, | 279 vertex_opacity, |
287 flipped); | 280 flipped); |
288 | 281 |
289 surfaces::PassPtr mojo_pass = surfaces::Pass::From(*pass); | 282 PassPtr mojo_pass = Pass::From(*pass); |
290 ASSERT_FALSE(mojo_pass.is_null()); | 283 ASSERT_FALSE(mojo_pass.is_null()); |
291 EXPECT_EQ(6, mojo_pass->id); | 284 EXPECT_EQ(6, mojo_pass->id); |
292 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect); | 285 EXPECT_EQ(Rect::From(output_rect), mojo_pass->output_rect); |
293 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect); | 286 EXPECT_EQ(Rect::From(damage_rect), mojo_pass->damage_rect); |
294 EXPECT_EQ(Transform::From(transform_to_root_target), | 287 EXPECT_EQ(Transform::From(transform_to_root_target), |
295 mojo_pass->transform_to_root_target); | 288 mojo_pass->transform_to_root_target); |
296 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background); | 289 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background); |
297 ASSERT_EQ(1u, mojo_pass->shared_quad_states.size()); | 290 ASSERT_EQ(1u, mojo_pass->shared_quad_states.size()); |
298 ASSERT_EQ(3u, mojo_pass->quads.size()); | 291 ASSERT_EQ(3u, mojo_pass->quads.size()); |
299 EXPECT_EQ(0, mojo_pass->quads[0]->shared_quad_state_index); | 292 EXPECT_EQ(0, mojo_pass->quads[0]->shared_quad_state_index); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i]) | 349 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i]) |
357 << i; | 350 << i; |
358 } | 351 } |
359 EXPECT_EQ(flipped, round_trip_texture_quad->flipped); | 352 EXPECT_EQ(flipped, round_trip_texture_quad->flipped); |
360 } | 353 } |
361 | 354 |
362 TEST(SurfaceLibTest, Mailbox) { | 355 TEST(SurfaceLibTest, Mailbox) { |
363 gpu::Mailbox mailbox; | 356 gpu::Mailbox mailbox; |
364 mailbox.Generate(); | 357 mailbox.Generate(); |
365 | 358 |
366 surfaces::MailboxPtr mojo_mailbox = surfaces::Mailbox::From(mailbox); | 359 MailboxPtr mojo_mailbox = Mailbox::From(mailbox); |
367 EXPECT_EQ(0, memcmp(mailbox.name, &mojo_mailbox->name.storage()[0], 64)); | 360 EXPECT_EQ(0, memcmp(mailbox.name, &mojo_mailbox->name.storage()[0], 64)); |
368 | 361 |
369 gpu::Mailbox round_trip_mailbox = mojo_mailbox.To<gpu::Mailbox>(); | 362 gpu::Mailbox round_trip_mailbox = mojo_mailbox.To<gpu::Mailbox>(); |
370 EXPECT_EQ(mailbox, round_trip_mailbox); | 363 EXPECT_EQ(mailbox, round_trip_mailbox); |
371 } | 364 } |
372 | 365 |
373 TEST(SurfaceLibTest, MailboxEmptyName) { | 366 TEST(SurfaceLibTest, MailboxEmptyName) { |
374 surfaces::MailboxPtr mojo_mailbox = surfaces::Mailbox::New(); | 367 MailboxPtr mojo_mailbox = Mailbox::New(); |
375 | 368 |
376 gpu::Mailbox converted_mailbox = mojo_mailbox.To<gpu::Mailbox>(); | 369 gpu::Mailbox converted_mailbox = mojo_mailbox.To<gpu::Mailbox>(); |
377 EXPECT_TRUE(converted_mailbox.IsZero()); | 370 EXPECT_TRUE(converted_mailbox.IsZero()); |
378 } | 371 } |
379 | 372 |
380 TEST(SurfaceLibTest, MailboxHolder) { | 373 TEST(SurfaceLibTest, MailboxHolder) { |
381 gpu::Mailbox mailbox; | 374 gpu::Mailbox mailbox; |
382 mailbox.Generate(); | 375 mailbox.Generate(); |
383 uint32_t texture_target = GL_TEXTURE_2D; | 376 uint32_t texture_target = GL_TEXTURE_2D; |
384 uint32_t sync_point = 7u; | 377 uint32_t sync_point = 7u; |
385 gpu::MailboxHolder holder(mailbox, texture_target, sync_point); | 378 gpu::MailboxHolder holder(mailbox, texture_target, sync_point); |
386 | 379 |
387 surfaces::MailboxHolderPtr mojo_holder = | 380 MailboxHolderPtr mojo_holder = MailboxHolder::From(holder); |
388 surfaces::MailboxHolder::From(holder); | |
389 EXPECT_EQ(texture_target, mojo_holder->texture_target); | 381 EXPECT_EQ(texture_target, mojo_holder->texture_target); |
390 EXPECT_EQ(sync_point, mojo_holder->sync_point); | 382 EXPECT_EQ(sync_point, mojo_holder->sync_point); |
391 | 383 |
392 gpu::MailboxHolder round_trip_holder = mojo_holder.To<gpu::MailboxHolder>(); | 384 gpu::MailboxHolder round_trip_holder = mojo_holder.To<gpu::MailboxHolder>(); |
393 EXPECT_EQ(mailbox, round_trip_holder.mailbox); | 385 EXPECT_EQ(mailbox, round_trip_holder.mailbox); |
394 EXPECT_EQ(texture_target, round_trip_holder.texture_target); | 386 EXPECT_EQ(texture_target, round_trip_holder.texture_target); |
395 EXPECT_EQ(sync_point, round_trip_holder.sync_point); | 387 EXPECT_EQ(sync_point, round_trip_holder.sync_point); |
396 } | 388 } |
397 | 389 |
398 TEST(SurfaceLibTest, TransferableResource) { | 390 TEST(SurfaceLibTest, TransferableResource) { |
399 uint32_t id = 7u; | 391 uint32_t id = 7u; |
400 cc::ResourceFormat format = cc::BGRA_8888; | 392 cc::ResourceFormat format = cc::BGRA_8888; |
401 uint32_t filter = 123u; | 393 uint32_t filter = 123u; |
402 gfx::Size size(17, 18); | 394 gfx::Size size(17, 18); |
403 gpu::MailboxHolder mailbox_holder; | 395 gpu::MailboxHolder mailbox_holder; |
404 bool is_repeated = false; | 396 bool is_repeated = false; |
405 ; | 397 ; |
406 bool is_software = false; | 398 bool is_software = false; |
407 cc::TransferableResource resource; | 399 cc::TransferableResource resource; |
408 resource.id = id; | 400 resource.id = id; |
409 resource.format = format; | 401 resource.format = format; |
410 resource.filter = filter; | 402 resource.filter = filter; |
411 resource.size = size; | 403 resource.size = size; |
412 resource.mailbox_holder = mailbox_holder; | 404 resource.mailbox_holder = mailbox_holder; |
413 resource.is_repeated = is_repeated; | 405 resource.is_repeated = is_repeated; |
414 resource.is_software = is_software; | 406 resource.is_software = is_software; |
415 | 407 |
416 surfaces::TransferableResourcePtr mojo_resource = | 408 TransferableResourcePtr mojo_resource = TransferableResource::From(resource); |
417 surfaces::TransferableResource::From(resource); | |
418 EXPECT_EQ(id, mojo_resource->id); | 409 EXPECT_EQ(id, mojo_resource->id); |
419 EXPECT_EQ(static_cast<surfaces::ResourceFormat>(format), | 410 EXPECT_EQ(static_cast<ResourceFormat>(format), |
420 mojo_resource->format); | 411 mojo_resource->format); |
421 EXPECT_EQ(filter, mojo_resource->filter); | 412 EXPECT_EQ(filter, mojo_resource->filter); |
422 EXPECT_EQ(Size::From(size), mojo_resource->size); | 413 EXPECT_EQ(Size::From(size), mojo_resource->size); |
423 EXPECT_EQ(is_repeated, mojo_resource->is_repeated); | 414 EXPECT_EQ(is_repeated, mojo_resource->is_repeated); |
424 EXPECT_EQ(is_software, mojo_resource->is_software); | 415 EXPECT_EQ(is_software, mojo_resource->is_software); |
425 | 416 |
426 cc::TransferableResource round_trip_resource = | 417 cc::TransferableResource round_trip_resource = |
427 mojo_resource.To<cc::TransferableResource>(); | 418 mojo_resource.To<cc::TransferableResource>(); |
428 EXPECT_EQ(id, round_trip_resource.id); | 419 EXPECT_EQ(id, round_trip_resource.id); |
429 EXPECT_EQ(format, round_trip_resource.format); | 420 EXPECT_EQ(format, round_trip_resource.format); |
(...skipping 12 matching lines...) Expand all Loading... |
442 uint32_t id = 5u; | 433 uint32_t id = 5u; |
443 uint32_t sync_point = 24u; | 434 uint32_t sync_point = 24u; |
444 int count = 2; | 435 int count = 2; |
445 bool lost = false; | 436 bool lost = false; |
446 cc::ReturnedResource resource; | 437 cc::ReturnedResource resource; |
447 resource.id = id; | 438 resource.id = id; |
448 resource.sync_point = sync_point; | 439 resource.sync_point = sync_point; |
449 resource.count = count; | 440 resource.count = count; |
450 resource.lost = lost; | 441 resource.lost = lost; |
451 | 442 |
452 surfaces::ReturnedResourcePtr mojo_resource = | 443 ReturnedResourcePtr mojo_resource = ReturnedResource::From(resource); |
453 surfaces::ReturnedResource::From(resource); | |
454 EXPECT_EQ(id, mojo_resource->id); | 444 EXPECT_EQ(id, mojo_resource->id); |
455 EXPECT_EQ(sync_point, mojo_resource->sync_point); | 445 EXPECT_EQ(sync_point, mojo_resource->sync_point); |
456 EXPECT_EQ(count, mojo_resource->count); | 446 EXPECT_EQ(count, mojo_resource->count); |
457 EXPECT_EQ(lost, mojo_resource->lost); | 447 EXPECT_EQ(lost, mojo_resource->lost); |
458 | 448 |
459 cc::ReturnedResource round_trip_resource = | 449 cc::ReturnedResource round_trip_resource = |
460 mojo_resource.To<cc::ReturnedResource>(); | 450 mojo_resource.To<cc::ReturnedResource>(); |
461 EXPECT_EQ(id, round_trip_resource.id); | 451 EXPECT_EQ(id, round_trip_resource.id); |
462 EXPECT_EQ(sync_point, round_trip_resource.sync_point); | 452 EXPECT_EQ(sync_point, round_trip_resource.sync_point); |
463 EXPECT_EQ(count, round_trip_resource.count); | 453 EXPECT_EQ(count, round_trip_resource.count); |
464 EXPECT_EQ(lost, round_trip_resource.lost); | 454 EXPECT_EQ(lost, round_trip_resource.lost); |
465 } | 455 } |
466 | 456 |
467 } // namespace | 457 } // namespace |
468 } // namespace mojo | 458 } // namespace mojo |
OLD | NEW |