| 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/debug_border_draw_quad.h" | 5 #include "cc/quads/debug_border_draw_quad.h" |
| 6 #include "cc/quads/render_pass.h" | 6 #include "cc/quads/render_pass.h" |
| 7 #include "cc/quads/solid_color_draw_quad.h" | 7 #include "cc/quads/solid_color_draw_quad.h" |
| 8 #include "cc/quads/surface_draw_quad.h" | 8 #include "cc/quads/surface_draw_quad.h" |
| 9 #include "cc/quads/texture_draw_quad.h" | 9 #include "cc/quads/texture_draw_quad.h" |
| 10 #include "cc/resources/resource_provider.h" | 10 #include "cc/resources/resource_provider.h" |
| 11 #include "gpu/command_buffer/common/mailbox.h" | 11 #include "gpu/command_buffer/common/mailbox.h" |
| 12 #include "gpu/command_buffer/common/mailbox_holder.h" | 12 #include "gpu/command_buffer/common/mailbox_holder.h" |
| 13 #include "mojo/converters/geometry/geometry_type_converters.h" | 13 #include "mojo/converters/geometry/geometry_type_converters.h" |
| 14 #include "mojo/converters/surfaces/surfaces_type_converters.h" | 14 #include "mojo/converters/surfaces/surfaces_type_converters.h" |
| 15 #include "mojo/converters/transform/transform_type_converters.h" | 15 #include "mojo/converters/transform/transform_type_converters.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
| 17 #include "third_party/skia/include/core/SkColor.h" | 17 #include "third_party/skia/include/core/SkColor.h" |
| 18 #include "third_party/skia/include/core/SkXfermode.h" | 18 #include "third_party/skia/include/core/SkXfermode.h" |
| 19 | 19 |
| 20 using mus::mojom::Color; |
| 21 using mus::mojom::ColorPtr; |
| 22 using mus::mojom::CompositorFrame; |
| 23 using mus::mojom::CompositorFramePtr; |
| 24 using mus::mojom::CompositorFrameMetadata; |
| 25 using mus::mojom::CompositorFrameMetadataPtr; |
| 26 using mus::mojom::DebugBorderQuadState; |
| 27 using mus::mojom::DebugBorderQuadStatePtr; |
| 28 using mus::mojom::Mailbox; |
| 29 using mus::mojom::MailboxPtr; |
| 30 using mus::mojom::MailboxHolder; |
| 31 using mus::mojom::MailboxHolderPtr; |
| 32 using mus::mojom::Pass; |
| 33 using mus::mojom::PassPtr; |
| 34 using mus::mojom::Quad; |
| 35 using mus::mojom::QuadPtr; |
| 36 using mus::mojom::RenderPassId; |
| 37 using mus::mojom::RenderPassIdPtr; |
| 38 using mus::mojom::RenderPassQuadState; |
| 39 using mus::mojom::RenderPassQuadStatePtr; |
| 40 using mus::mojom::ResourceFormat; |
| 41 using mus::mojom::ReturnedResource; |
| 42 using mus::mojom::ReturnedResourcePtr; |
| 43 using mus::mojom::SharedQuadState; |
| 44 using mus::mojom::SharedQuadStatePtr; |
| 45 using mus::mojom::SolidColorQuadState; |
| 46 using mus::mojom::SolidColorQuadStatePtr; |
| 47 using mus::mojom::SurfaceId; |
| 48 using mus::mojom::SurfaceIdPtr; |
| 49 using mus::mojom::SurfaceQuadState; |
| 50 using mus::mojom::SurfaceQuadStatePtr; |
| 51 using mus::mojom::TextureQuadState; |
| 52 using mus::mojom::TextureQuadStatePtr; |
| 53 using mus::mojom::TileQuadState; |
| 54 using mus::mojom::TileQuadStatePtr; |
| 55 using mus::mojom::TransferableResource; |
| 56 using mus::mojom::TransferableResourcePtr; |
| 57 using mus::mojom::YUVColorSpace; |
| 58 using mus::mojom::YUVVideoQuadState; |
| 59 using mus::mojom::YUVVideoQuadStatePtr; |
| 60 |
| 20 namespace mojo { | 61 namespace mojo { |
| 21 namespace { | 62 namespace { |
| 22 | 63 |
| 23 TEST(SurfaceLibTest, SurfaceIdConverterNullId) { | 64 TEST(SurfaceLibTest, SurfaceIdConverterNullId) { |
| 24 cc::SurfaceId null_id; | 65 cc::SurfaceId null_id; |
| 25 cc::SurfaceId round_trip = SurfaceId::From(null_id).To<cc::SurfaceId>(); | 66 cc::SurfaceId round_trip = SurfaceId::From(null_id).To<cc::SurfaceId>(); |
| 26 EXPECT_TRUE(round_trip.is_null()); | 67 EXPECT_TRUE(round_trip.is_null()); |
| 27 } | 68 } |
| 28 | 69 |
| 29 TEST(SurfaceLibTest, SurfaceIdConverterValidId) { | 70 TEST(SurfaceLibTest, SurfaceIdConverterValidId) { |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 SkColor arbitrary_color = SK_ColorGREEN; | 106 SkColor arbitrary_color = SK_ColorGREEN; |
| 66 bool force_anti_aliasing_off = true; | 107 bool force_anti_aliasing_off = true; |
| 67 color_quad->SetAll(sqs, | 108 color_quad->SetAll(sqs, |
| 68 rect, | 109 rect, |
| 69 opaque_rect, | 110 opaque_rect, |
| 70 visible_rect, | 111 visible_rect, |
| 71 needs_blending, | 112 needs_blending, |
| 72 arbitrary_color, | 113 arbitrary_color, |
| 73 force_anti_aliasing_off); | 114 force_anti_aliasing_off); |
| 74 | 115 |
| 75 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*color_quad); | 116 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*color_quad); |
| 76 ASSERT_FALSE(mojo_quad.is_null()); | 117 ASSERT_FALSE(mus_quad.is_null()); |
| 77 EXPECT_EQ(MATERIAL_SOLID_COLOR, mojo_quad->material); | 118 EXPECT_EQ(mus::mojom::MATERIAL_SOLID_COLOR, mus_quad->material); |
| 78 EXPECT_TRUE(Rect::From(rect).Equals(mojo_quad->rect)); | 119 EXPECT_TRUE(Rect::From(rect).Equals(mus_quad->rect)); |
| 79 EXPECT_TRUE(Rect::From(opaque_rect).Equals(mojo_quad->opaque_rect)); | 120 EXPECT_TRUE(Rect::From(opaque_rect).Equals(mus_quad->opaque_rect)); |
| 80 EXPECT_TRUE(Rect::From(visible_rect).Equals(mojo_quad->visible_rect)); | 121 EXPECT_TRUE(Rect::From(visible_rect).Equals(mus_quad->visible_rect)); |
| 81 EXPECT_EQ(needs_blending, mojo_quad->needs_blending); | 122 EXPECT_EQ(needs_blending, mus_quad->needs_blending); |
| 82 ASSERT_TRUE(mojo_quad->solid_color_quad_state); | 123 ASSERT_TRUE(mus_quad->solid_color_quad_state); |
| 83 SolidColorQuadStatePtr& mojo_color_state = mojo_quad->solid_color_quad_state; | 124 SolidColorQuadStatePtr& mus_color_state = mus_quad->solid_color_quad_state; |
| 84 EXPECT_TRUE(Color::From(arbitrary_color).Equals(mojo_color_state->color)); | 125 EXPECT_TRUE(Color::From(arbitrary_color).Equals(mus_color_state->color)); |
| 85 EXPECT_EQ(force_anti_aliasing_off, mojo_color_state->force_anti_aliasing_off); | 126 EXPECT_EQ(force_anti_aliasing_off, mus_color_state->force_anti_aliasing_off); |
| 86 } | 127 } |
| 87 | 128 |
| 88 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { | 129 TEST_F(SurfaceLibQuadTest, SurfaceQuad) { |
| 89 cc::SurfaceDrawQuad* surface_quad = | 130 cc::SurfaceDrawQuad* surface_quad = |
| 90 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); | 131 pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); |
| 91 cc::SurfaceId arbitrary_id(5); | 132 cc::SurfaceId arbitrary_id(5); |
| 92 surface_quad->SetAll( | 133 surface_quad->SetAll( |
| 93 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); | 134 sqs, rect, opaque_rect, visible_rect, needs_blending, arbitrary_id); |
| 94 | 135 |
| 95 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*surface_quad); | 136 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*surface_quad); |
| 96 ASSERT_FALSE(mojo_quad.is_null()); | 137 ASSERT_FALSE(mus_quad.is_null()); |
| 97 EXPECT_EQ(MATERIAL_SURFACE_CONTENT, mojo_quad->material); | 138 EXPECT_EQ(mus::mojom::MATERIAL_SURFACE_CONTENT, mus_quad->material); |
| 98 ASSERT_TRUE(mojo_quad->surface_quad_state); | 139 ASSERT_TRUE(mus_quad->surface_quad_state); |
| 99 SurfaceQuadStatePtr& mojo_surface_state = mojo_quad->surface_quad_state; | 140 SurfaceQuadStatePtr& mus_surface_state = mus_quad->surface_quad_state; |
| 100 EXPECT_TRUE( | 141 EXPECT_TRUE(SurfaceId::From(arbitrary_id).Equals(mus_surface_state->surface)); |
| 101 SurfaceId::From(arbitrary_id).Equals(mojo_surface_state->surface)); | |
| 102 } | 142 } |
| 103 | 143 |
| 104 TEST_F(SurfaceLibQuadTest, TextureQuad) { | 144 TEST_F(SurfaceLibQuadTest, TextureQuad) { |
| 105 cc::TextureDrawQuad* texture_quad = | 145 cc::TextureDrawQuad* texture_quad = |
| 106 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); | 146 pass->CreateAndAppendDrawQuad<cc::TextureDrawQuad>(); |
| 107 unsigned resource_id = 9; | 147 unsigned resource_id = 9; |
| 108 bool premultiplied_alpha = true; | 148 bool premultiplied_alpha = true; |
| 109 gfx::PointF uv_top_left(1.7f, 2.1f); | 149 gfx::PointF uv_top_left(1.7f, 2.1f); |
| 110 gfx::PointF uv_bottom_right(-7.f, 16.3f); | 150 gfx::PointF uv_bottom_right(-7.f, 16.3f); |
| 111 SkColor background_color = SK_ColorYELLOW; | 151 SkColor background_color = SK_ColorYELLOW; |
| 112 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; | 152 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; |
| 113 bool y_flipped = false; | 153 bool y_flipped = false; |
| 114 bool nearest_neighbor = false; | 154 bool nearest_neighbor = false; |
| 115 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending, | 155 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending, |
| 116 resource_id, gfx::Size(), premultiplied_alpha, | 156 resource_id, gfx::Size(), premultiplied_alpha, |
| 117 uv_top_left, uv_bottom_right, background_color, | 157 uv_top_left, uv_bottom_right, background_color, |
| 118 vertex_opacity, y_flipped, nearest_neighbor); | 158 vertex_opacity, y_flipped, nearest_neighbor); |
| 119 | 159 |
| 120 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*texture_quad); | 160 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*texture_quad); |
| 121 ASSERT_FALSE(mojo_quad.is_null()); | 161 ASSERT_FALSE(mus_quad.is_null()); |
| 122 EXPECT_EQ(MATERIAL_TEXTURE_CONTENT, mojo_quad->material); | 162 EXPECT_EQ(mus::mojom::MATERIAL_TEXTURE_CONTENT, mus_quad->material); |
| 123 ASSERT_TRUE(mojo_quad->texture_quad_state); | 163 ASSERT_TRUE(mus_quad->texture_quad_state); |
| 124 TextureQuadStatePtr& mojo_texture_state = mojo_quad->texture_quad_state; | 164 TextureQuadStatePtr& mus_texture_state = mus_quad->texture_quad_state; |
| 125 EXPECT_EQ(resource_id, mojo_texture_state->resource_id); | 165 EXPECT_EQ(resource_id, mus_texture_state->resource_id); |
| 126 EXPECT_EQ(premultiplied_alpha, mojo_texture_state->premultiplied_alpha); | 166 EXPECT_EQ(premultiplied_alpha, mus_texture_state->premultiplied_alpha); |
| 167 EXPECT_TRUE(PointF::From(uv_top_left).Equals(mus_texture_state->uv_top_left)); |
| 127 EXPECT_TRUE( | 168 EXPECT_TRUE( |
| 128 PointF::From(uv_top_left).Equals(mojo_texture_state->uv_top_left)); | 169 PointF::From(uv_bottom_right).Equals(mus_texture_state->uv_bottom_right)); |
| 129 EXPECT_TRUE(PointF::From(uv_bottom_right) | |
| 130 .Equals(mojo_texture_state->uv_bottom_right)); | |
| 131 EXPECT_TRUE(Color::From(background_color) | 170 EXPECT_TRUE(Color::From(background_color) |
| 132 .Equals(mojo_texture_state->background_color)); | 171 .Equals(mus_texture_state->background_color)); |
| 133 for (size_t i = 0; i < 4; ++i) { | 172 for (size_t i = 0; i < 4; ++i) { |
| 134 EXPECT_EQ(vertex_opacity[i], mojo_texture_state->vertex_opacity[i]) << i; | 173 EXPECT_EQ(vertex_opacity[i], mus_texture_state->vertex_opacity[i]) << i; |
| 135 } | 174 } |
| 136 EXPECT_EQ(y_flipped, mojo_texture_state->y_flipped); | 175 EXPECT_EQ(y_flipped, mus_texture_state->y_flipped); |
| 137 } | 176 } |
| 138 | 177 |
| 139 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { | 178 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { |
| 140 QuadPtr mojo_texture_quad = Quad::New(); | 179 QuadPtr mus_texture_quad = Quad::New(); |
| 141 mojo_texture_quad->material = MATERIAL_TEXTURE_CONTENT; | 180 mus_texture_quad->material = mus::mojom::MATERIAL_TEXTURE_CONTENT; |
| 142 TextureQuadStatePtr mojo_texture_state = TextureQuadState::New(); | 181 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); |
| 143 mojo_texture_state->background_color = Color::New(); | 182 mus_texture_state->background_color = Color::New(); |
| 144 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass(); | 183 mus_texture_quad->texture_quad_state = mus_texture_state.Pass(); |
| 145 PassPtr mojo_pass = Pass::New(); | 184 PassPtr mus_pass = Pass::New(); |
| 146 mojo_pass->id = RenderPassId::New(); | 185 mus_pass->id = RenderPassId::New(); |
| 147 mojo_pass->id->layer_id = 1; | 186 mus_pass->id->layer_id = 1; |
| 148 mojo_pass->id->index = 1u; | 187 mus_pass->id->index = 1u; |
| 149 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); | 188 mus_pass->quads.push_back(mus_texture_quad.Pass()); |
| 150 SharedQuadStatePtr mojo_sqs = SharedQuadState::New(); | 189 SharedQuadStatePtr mus_sqs = SharedQuadState::New(); |
| 151 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); | 190 mus_pass->shared_quad_states.push_back(mus_sqs.Pass()); |
| 152 | 191 |
| 153 scoped_ptr<cc::RenderPass> pass = mojo_pass.To<scoped_ptr<cc::RenderPass> >(); | 192 scoped_ptr<cc::RenderPass> pass = mus_pass.To<scoped_ptr<cc::RenderPass>>(); |
| 154 | 193 |
| 155 EXPECT_FALSE(pass); | 194 EXPECT_FALSE(pass); |
| 156 } | 195 } |
| 157 | 196 |
| 158 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) { | 197 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) { |
| 159 QuadPtr mojo_texture_quad = Quad::New(); | 198 QuadPtr mus_texture_quad = Quad::New(); |
| 160 mojo_texture_quad->material = MATERIAL_TEXTURE_CONTENT; | 199 mus_texture_quad->material = mus::mojom::MATERIAL_TEXTURE_CONTENT; |
| 161 TextureQuadStatePtr mojo_texture_state = TextureQuadState::New(); | 200 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); |
| 162 mojo_texture_state->vertex_opacity = mojo::Array<float>::New(4); | 201 mus_texture_state->vertex_opacity = mojo::Array<float>::New(4); |
| 163 mojo_texture_quad->texture_quad_state = mojo_texture_state.Pass(); | 202 mus_texture_quad->texture_quad_state = mus_texture_state.Pass(); |
| 164 PassPtr mojo_pass = Pass::New(); | 203 PassPtr mus_pass = Pass::New(); |
| 165 mojo_pass->id = RenderPassId::New(); | 204 mus_pass->id = RenderPassId::New(); |
| 166 mojo_pass->id->layer_id = 1; | 205 mus_pass->id->layer_id = 1; |
| 167 mojo_pass->id->index = 1u; | 206 mus_pass->id->index = 1u; |
| 168 mojo_pass->quads.push_back(mojo_texture_quad.Pass()); | 207 mus_pass->quads.push_back(mus_texture_quad.Pass()); |
| 169 SharedQuadStatePtr mojo_sqs = SharedQuadState::New(); | 208 SharedQuadStatePtr mus_sqs = SharedQuadState::New(); |
| 170 mojo_pass->shared_quad_states.push_back(mojo_sqs.Pass()); | 209 mus_pass->shared_quad_states.push_back(mus_sqs.Pass()); |
| 171 | 210 |
| 172 scoped_ptr<cc::RenderPass> pass = mojo_pass.To<scoped_ptr<cc::RenderPass> >(); | 211 scoped_ptr<cc::RenderPass> pass = mus_pass.To<scoped_ptr<cc::RenderPass>>(); |
| 173 EXPECT_FALSE(pass); | 212 EXPECT_FALSE(pass); |
| 174 } | 213 } |
| 175 | 214 |
| 176 TEST(SurfaceLibTest, SharedQuadState) { | 215 TEST(SurfaceLibTest, SharedQuadState) { |
| 177 gfx::Transform quad_to_target_transform; | 216 gfx::Transform quad_to_target_transform; |
| 178 quad_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); | 217 quad_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); |
| 179 gfx::Size quad_layer_bounds(57, 39); | 218 gfx::Size quad_layer_bounds(57, 39); |
| 180 gfx::Rect visible_quad_layer_rect(3, 7, 28, 42); | 219 gfx::Rect visible_quad_layer_rect(3, 7, 28, 42); |
| 181 gfx::Rect clip_rect(9, 12, 21, 31); | 220 gfx::Rect clip_rect(9, 12, 21, 31); |
| 182 bool is_clipped = true; | 221 bool is_clipped = true; |
| 183 float opacity = 0.65f; | 222 float opacity = 0.65f; |
| 184 int sorting_context_id = 13; | 223 int sorting_context_id = 13; |
| 185 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; | 224 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; |
| 186 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | 225 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); |
| 187 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | 226 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); |
| 188 sqs->SetAll(quad_to_target_transform, quad_layer_bounds, | 227 sqs->SetAll(quad_to_target_transform, quad_layer_bounds, |
| 189 visible_quad_layer_rect, clip_rect, is_clipped, opacity, | 228 visible_quad_layer_rect, clip_rect, is_clipped, opacity, |
| 190 blend_mode, sorting_context_id); | 229 blend_mode, sorting_context_id); |
| 191 | 230 |
| 192 SharedQuadStatePtr mojo_sqs = SharedQuadState::From(*sqs); | 231 SharedQuadStatePtr mus_sqs = SharedQuadState::From(*sqs); |
| 193 ASSERT_FALSE(mojo_sqs.is_null()); | 232 ASSERT_FALSE(mus_sqs.is_null()); |
| 194 EXPECT_TRUE(Transform::From(quad_to_target_transform) | 233 EXPECT_TRUE(Transform::From(quad_to_target_transform) |
| 195 .Equals(mojo_sqs->quad_to_target_transform)); | 234 .Equals(mus_sqs->quad_to_target_transform)); |
| 196 EXPECT_TRUE( | 235 EXPECT_TRUE(Size::From(quad_layer_bounds).Equals(mus_sqs->quad_layer_bounds)); |
| 197 Size::From(quad_layer_bounds).Equals(mojo_sqs->quad_layer_bounds)); | |
| 198 EXPECT_TRUE(Rect::From(visible_quad_layer_rect) | 236 EXPECT_TRUE(Rect::From(visible_quad_layer_rect) |
| 199 .Equals(mojo_sqs->visible_quad_layer_rect)); | 237 .Equals(mus_sqs->visible_quad_layer_rect)); |
| 200 EXPECT_TRUE(Rect::From(clip_rect).Equals(mojo_sqs->clip_rect)); | 238 EXPECT_TRUE(Rect::From(clip_rect).Equals(mus_sqs->clip_rect)); |
| 201 EXPECT_EQ(is_clipped, mojo_sqs->is_clipped); | 239 EXPECT_EQ(is_clipped, mus_sqs->is_clipped); |
| 202 EXPECT_EQ(opacity, mojo_sqs->opacity); | 240 EXPECT_EQ(opacity, mus_sqs->opacity); |
| 203 EXPECT_EQ(sorting_context_id, mojo_sqs->sorting_context_id); | 241 EXPECT_EQ(sorting_context_id, mus_sqs->sorting_context_id); |
| 204 } | 242 } |
| 205 | 243 |
| 206 TEST(SurfaceLibTest, RenderPass) { | 244 TEST(SurfaceLibTest, RenderPass) { |
| 207 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | 245 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); |
| 208 cc::RenderPassId pass_id(1, 6); | 246 cc::RenderPassId pass_id(1, 6); |
| 209 gfx::Rect output_rect(4, 9, 13, 71); | 247 gfx::Rect output_rect(4, 9, 13, 71); |
| 210 gfx::Rect damage_rect(9, 17, 41, 45); | 248 gfx::Rect damage_rect(9, 17, 41, 45); |
| 211 gfx::Transform transform_to_root_target; | 249 gfx::Transform transform_to_root_target; |
| 212 transform_to_root_target.Skew(0.0, 43.0); | 250 transform_to_root_target.Skew(0.0, 43.0); |
| 213 bool has_transparent_background = false; | 251 bool has_transparent_background = false; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 gfx::PointF uv_bottom_right(-7.f, 16.3f); | 300 gfx::PointF uv_bottom_right(-7.f, 16.3f); |
| 263 SkColor background_color = SK_ColorYELLOW; | 301 SkColor background_color = SK_ColorYELLOW; |
| 264 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; | 302 float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f}; |
| 265 bool y_flipped = false; | 303 bool y_flipped = false; |
| 266 bool nearest_neighbor = false; | 304 bool nearest_neighbor = false; |
| 267 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending, | 305 texture_quad->SetAll(sqs, rect, opaque_rect, visible_rect, needs_blending, |
| 268 resource_id, gfx::Size(), premultiplied_alpha, | 306 resource_id, gfx::Size(), premultiplied_alpha, |
| 269 uv_top_left, uv_bottom_right, background_color, | 307 uv_top_left, uv_bottom_right, background_color, |
| 270 vertex_opacity, y_flipped, nearest_neighbor); | 308 vertex_opacity, y_flipped, nearest_neighbor); |
| 271 | 309 |
| 272 PassPtr mojo_pass = Pass::From(*pass); | 310 PassPtr mus_pass = Pass::From(*pass); |
| 273 ASSERT_FALSE(mojo_pass.is_null()); | 311 ASSERT_FALSE(mus_pass.is_null()); |
| 274 EXPECT_EQ(6u, mojo_pass->id->index); | 312 EXPECT_EQ(6u, mus_pass->id->index); |
| 275 EXPECT_TRUE(Rect::From(output_rect).Equals(mojo_pass->output_rect)); | 313 EXPECT_TRUE(Rect::From(output_rect).Equals(mus_pass->output_rect)); |
| 276 EXPECT_TRUE(Rect::From(damage_rect).Equals(mojo_pass->damage_rect)); | 314 EXPECT_TRUE(Rect::From(damage_rect).Equals(mus_pass->damage_rect)); |
| 277 EXPECT_TRUE(Transform::From(transform_to_root_target) | 315 EXPECT_TRUE(Transform::From(transform_to_root_target) |
| 278 .Equals(mojo_pass->transform_to_root_target)); | 316 .Equals(mus_pass->transform_to_root_target)); |
| 279 EXPECT_EQ(has_transparent_background, mojo_pass->has_transparent_background); | 317 EXPECT_EQ(has_transparent_background, mus_pass->has_transparent_background); |
| 280 ASSERT_EQ(1u, mojo_pass->shared_quad_states.size()); | 318 ASSERT_EQ(1u, mus_pass->shared_quad_states.size()); |
| 281 ASSERT_EQ(3u, mojo_pass->quads.size()); | 319 ASSERT_EQ(3u, mus_pass->quads.size()); |
| 282 EXPECT_EQ(0u, mojo_pass->quads[0]->shared_quad_state_index); | 320 EXPECT_EQ(0u, mus_pass->quads[0]->shared_quad_state_index); |
| 283 | 321 |
| 284 scoped_ptr<cc::RenderPass> round_trip_pass = | 322 scoped_ptr<cc::RenderPass> round_trip_pass = |
| 285 mojo_pass.To<scoped_ptr<cc::RenderPass> >(); | 323 mus_pass.To<scoped_ptr<cc::RenderPass>>(); |
| 286 EXPECT_EQ(pass_id, round_trip_pass->id); | 324 EXPECT_EQ(pass_id, round_trip_pass->id); |
| 287 EXPECT_EQ(output_rect, round_trip_pass->output_rect); | 325 EXPECT_EQ(output_rect, round_trip_pass->output_rect); |
| 288 EXPECT_EQ(damage_rect, round_trip_pass->damage_rect); | 326 EXPECT_EQ(damage_rect, round_trip_pass->damage_rect); |
| 289 EXPECT_EQ(transform_to_root_target, | 327 EXPECT_EQ(transform_to_root_target, |
| 290 round_trip_pass->transform_to_root_target); | 328 round_trip_pass->transform_to_root_target); |
| 291 EXPECT_EQ(has_transparent_background, | 329 EXPECT_EQ(has_transparent_background, |
| 292 round_trip_pass->has_transparent_background); | 330 round_trip_pass->has_transparent_background); |
| 293 ASSERT_EQ(1u, round_trip_pass->shared_quad_state_list.size()); | 331 ASSERT_EQ(1u, round_trip_pass->shared_quad_state_list.size()); |
| 294 ASSERT_EQ(3u, round_trip_pass->quad_list.size()); | 332 ASSERT_EQ(3u, round_trip_pass->quad_list.size()); |
| 295 EXPECT_EQ(round_trip_pass->shared_quad_state_list.front(), | 333 EXPECT_EQ(round_trip_pass->shared_quad_state_list.front(), |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i]) | 377 EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i]) |
| 340 << i; | 378 << i; |
| 341 } | 379 } |
| 342 EXPECT_EQ(y_flipped, round_trip_texture_quad->y_flipped); | 380 EXPECT_EQ(y_flipped, round_trip_texture_quad->y_flipped); |
| 343 } | 381 } |
| 344 | 382 |
| 345 TEST(SurfaceLibTest, Mailbox) { | 383 TEST(SurfaceLibTest, Mailbox) { |
| 346 gpu::Mailbox mailbox; | 384 gpu::Mailbox mailbox; |
| 347 mailbox.Generate(); | 385 mailbox.Generate(); |
| 348 | 386 |
| 349 MailboxPtr mojo_mailbox = Mailbox::From(mailbox); | 387 MailboxPtr mus_mailbox = Mailbox::From(mailbox); |
| 350 EXPECT_EQ(0, memcmp(mailbox.name, &mojo_mailbox->name.storage()[0], 64)); | 388 EXPECT_EQ(0, memcmp(mailbox.name, &mus_mailbox->name.storage()[0], 64)); |
| 351 | 389 |
| 352 gpu::Mailbox round_trip_mailbox = mojo_mailbox.To<gpu::Mailbox>(); | 390 gpu::Mailbox round_trip_mailbox = mus_mailbox.To<gpu::Mailbox>(); |
| 353 EXPECT_EQ(mailbox, round_trip_mailbox); | 391 EXPECT_EQ(mailbox, round_trip_mailbox); |
| 354 } | 392 } |
| 355 | 393 |
| 356 TEST(SurfaceLibTest, MailboxEmptyName) { | 394 TEST(SurfaceLibTest, MailboxEmptyName) { |
| 357 MailboxPtr mojo_mailbox = Mailbox::New(); | 395 MailboxPtr mus_mailbox = Mailbox::New(); |
| 358 | 396 |
| 359 gpu::Mailbox converted_mailbox = mojo_mailbox.To<gpu::Mailbox>(); | 397 gpu::Mailbox converted_mailbox = mus_mailbox.To<gpu::Mailbox>(); |
| 360 EXPECT_TRUE(converted_mailbox.IsZero()); | 398 EXPECT_TRUE(converted_mailbox.IsZero()); |
| 361 } | 399 } |
| 362 | 400 |
| 363 TEST(SurfaceLibTest, MailboxHolder) { | 401 TEST(SurfaceLibTest, MailboxHolder) { |
| 364 gpu::Mailbox mailbox; | 402 gpu::Mailbox mailbox; |
| 365 mailbox.Generate(); | 403 mailbox.Generate(); |
| 366 uint32_t texture_target = GL_TEXTURE_2D; | 404 uint32_t texture_target = GL_TEXTURE_2D; |
| 367 uint32_t sync_point = 7u; | 405 uint32_t sync_point = 7u; |
| 368 gpu::MailboxHolder holder(mailbox, texture_target, sync_point); | 406 gpu::MailboxHolder holder(mailbox, texture_target, sync_point); |
| 369 | 407 |
| 370 MailboxHolderPtr mojo_holder = MailboxHolder::From(holder); | 408 MailboxHolderPtr mus_holder = MailboxHolder::From(holder); |
| 371 EXPECT_EQ(texture_target, mojo_holder->texture_target); | 409 EXPECT_EQ(texture_target, mus_holder->texture_target); |
| 372 EXPECT_EQ(sync_point, mojo_holder->sync_point); | 410 EXPECT_EQ(sync_point, mus_holder->sync_point); |
| 373 | 411 |
| 374 gpu::MailboxHolder round_trip_holder = mojo_holder.To<gpu::MailboxHolder>(); | 412 gpu::MailboxHolder round_trip_holder = mus_holder.To<gpu::MailboxHolder>(); |
| 375 EXPECT_EQ(mailbox, round_trip_holder.mailbox); | 413 EXPECT_EQ(mailbox, round_trip_holder.mailbox); |
| 376 EXPECT_EQ(texture_target, round_trip_holder.texture_target); | 414 EXPECT_EQ(texture_target, round_trip_holder.texture_target); |
| 377 EXPECT_EQ(sync_point, round_trip_holder.sync_point); | 415 EXPECT_EQ(sync_point, round_trip_holder.sync_point); |
| 378 } | 416 } |
| 379 | 417 |
| 380 TEST(SurfaceLibTest, TransferableResource) { | 418 TEST(SurfaceLibTest, TransferableResource) { |
| 381 uint32_t id = 7u; | 419 uint32_t id = 7u; |
| 382 cc::ResourceFormat format = cc::BGRA_8888; | 420 cc::ResourceFormat format = cc::BGRA_8888; |
| 383 uint32_t filter = 123u; | 421 uint32_t filter = 123u; |
| 384 gfx::Size size(17, 18); | 422 gfx::Size size(17, 18); |
| 385 gpu::MailboxHolder mailbox_holder; | 423 gpu::MailboxHolder mailbox_holder; |
| 386 bool is_software = false; | 424 bool is_software = false; |
| 387 cc::TransferableResource resource; | 425 cc::TransferableResource resource; |
| 388 resource.id = id; | 426 resource.id = id; |
| 389 resource.format = format; | 427 resource.format = format; |
| 390 resource.filter = filter; | 428 resource.filter = filter; |
| 391 resource.size = size; | 429 resource.size = size; |
| 392 resource.mailbox_holder = mailbox_holder; | 430 resource.mailbox_holder = mailbox_holder; |
| 393 resource.is_software = is_software; | 431 resource.is_software = is_software; |
| 394 | 432 |
| 395 TransferableResourcePtr mojo_resource = TransferableResource::From(resource); | 433 TransferableResourcePtr mus_resource = TransferableResource::From(resource); |
| 396 EXPECT_EQ(id, mojo_resource->id); | 434 EXPECT_EQ(id, mus_resource->id); |
| 397 EXPECT_EQ(static_cast<ResourceFormat>(format), | 435 EXPECT_EQ(static_cast<ResourceFormat>(format), mus_resource->format); |
| 398 mojo_resource->format); | 436 EXPECT_EQ(filter, mus_resource->filter); |
| 399 EXPECT_EQ(filter, mojo_resource->filter); | 437 EXPECT_TRUE(Size::From(size).Equals(mus_resource->size)); |
| 400 EXPECT_TRUE(Size::From(size).Equals(mojo_resource->size)); | 438 EXPECT_EQ(is_software, mus_resource->is_software); |
| 401 EXPECT_EQ(is_software, mojo_resource->is_software); | |
| 402 | 439 |
| 403 cc::TransferableResource round_trip_resource = | 440 cc::TransferableResource round_trip_resource = |
| 404 mojo_resource.To<cc::TransferableResource>(); | 441 mus_resource.To<cc::TransferableResource>(); |
| 405 EXPECT_EQ(id, round_trip_resource.id); | 442 EXPECT_EQ(id, round_trip_resource.id); |
| 406 EXPECT_EQ(format, round_trip_resource.format); | 443 EXPECT_EQ(format, round_trip_resource.format); |
| 407 EXPECT_EQ(filter, round_trip_resource.filter); | 444 EXPECT_EQ(filter, round_trip_resource.filter); |
| 408 EXPECT_EQ(size, round_trip_resource.size); | 445 EXPECT_EQ(size, round_trip_resource.size); |
| 409 EXPECT_EQ(mailbox_holder.mailbox, round_trip_resource.mailbox_holder.mailbox); | 446 EXPECT_EQ(mailbox_holder.mailbox, round_trip_resource.mailbox_holder.mailbox); |
| 410 EXPECT_EQ(mailbox_holder.texture_target, | 447 EXPECT_EQ(mailbox_holder.texture_target, |
| 411 round_trip_resource.mailbox_holder.texture_target); | 448 round_trip_resource.mailbox_holder.texture_target); |
| 412 EXPECT_EQ(mailbox_holder.sync_point, | 449 EXPECT_EQ(mailbox_holder.sync_point, |
| 413 round_trip_resource.mailbox_holder.sync_point); | 450 round_trip_resource.mailbox_holder.sync_point); |
| 414 EXPECT_EQ(is_software, round_trip_resource.is_software); | 451 EXPECT_EQ(is_software, round_trip_resource.is_software); |
| 415 } | 452 } |
| 416 | 453 |
| 417 TEST(SurfaceLibTest, ReturnedResource) { | 454 TEST(SurfaceLibTest, ReturnedResource) { |
| 418 uint32_t id = 5u; | 455 uint32_t id = 5u; |
| 419 uint32_t sync_point = 24u; | 456 uint32_t sync_point = 24u; |
| 420 int count = 2; | 457 int count = 2; |
| 421 bool lost = false; | 458 bool lost = false; |
| 422 cc::ReturnedResource resource; | 459 cc::ReturnedResource resource; |
| 423 resource.id = id; | 460 resource.id = id; |
| 424 resource.sync_point = sync_point; | 461 resource.sync_point = sync_point; |
| 425 resource.count = count; | 462 resource.count = count; |
| 426 resource.lost = lost; | 463 resource.lost = lost; |
| 427 | 464 |
| 428 ReturnedResourcePtr mojo_resource = ReturnedResource::From(resource); | 465 ReturnedResourcePtr mus_resource = ReturnedResource::From(resource); |
| 429 EXPECT_EQ(id, mojo_resource->id); | 466 EXPECT_EQ(id, mus_resource->id); |
| 430 EXPECT_EQ(sync_point, mojo_resource->sync_point); | 467 EXPECT_EQ(sync_point, mus_resource->sync_point); |
| 431 EXPECT_EQ(count, mojo_resource->count); | 468 EXPECT_EQ(count, mus_resource->count); |
| 432 EXPECT_EQ(lost, mojo_resource->lost); | 469 EXPECT_EQ(lost, mus_resource->lost); |
| 433 | 470 |
| 434 cc::ReturnedResource round_trip_resource = | 471 cc::ReturnedResource round_trip_resource = |
| 435 mojo_resource.To<cc::ReturnedResource>(); | 472 mus_resource.To<cc::ReturnedResource>(); |
| 436 EXPECT_EQ(id, round_trip_resource.id); | 473 EXPECT_EQ(id, round_trip_resource.id); |
| 437 EXPECT_EQ(sync_point, round_trip_resource.sync_point); | 474 EXPECT_EQ(sync_point, round_trip_resource.sync_point); |
| 438 EXPECT_EQ(count, round_trip_resource.count); | 475 EXPECT_EQ(count, round_trip_resource.count); |
| 439 EXPECT_EQ(lost, round_trip_resource.lost); | 476 EXPECT_EQ(lost, round_trip_resource.lost); |
| 440 } | 477 } |
| 441 | 478 |
| 442 TEST_F(SurfaceLibQuadTest, DebugBorderQuad) { | 479 TEST_F(SurfaceLibQuadTest, DebugBorderQuad) { |
| 443 cc::DebugBorderDrawQuad* debug_border_quad = | 480 cc::DebugBorderDrawQuad* debug_border_quad = |
| 444 pass->CreateAndAppendDrawQuad<cc::DebugBorderDrawQuad>(); | 481 pass->CreateAndAppendDrawQuad<cc::DebugBorderDrawQuad>(); |
| 445 const SkColor arbitrary_color = SK_ColorGREEN; | 482 const SkColor arbitrary_color = SK_ColorGREEN; |
| 446 const int width = 3; | 483 const int width = 3; |
| 447 debug_border_quad->SetAll(sqs, | 484 debug_border_quad->SetAll(sqs, |
| 448 rect, | 485 rect, |
| 449 opaque_rect, | 486 opaque_rect, |
| 450 visible_rect, | 487 visible_rect, |
| 451 needs_blending, | 488 needs_blending, |
| 452 arbitrary_color, | 489 arbitrary_color, |
| 453 width); | 490 width); |
| 454 | 491 |
| 455 QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*debug_border_quad); | 492 QuadPtr mus_quad = Quad::From<cc::DrawQuad>(*debug_border_quad); |
| 456 ASSERT_FALSE(mojo_quad.is_null()); | 493 ASSERT_FALSE(mus_quad.is_null()); |
| 457 EXPECT_EQ(MATERIAL_DEBUG_BORDER, mojo_quad->material); | 494 EXPECT_EQ(mus::mojom::MATERIAL_DEBUG_BORDER, mus_quad->material); |
| 458 EXPECT_TRUE(Rect::From(rect).Equals(mojo_quad->rect)); | 495 EXPECT_TRUE(Rect::From(rect).Equals(mus_quad->rect)); |
| 459 EXPECT_TRUE(Rect::From(opaque_rect).Equals(mojo_quad->opaque_rect)); | 496 EXPECT_TRUE(Rect::From(opaque_rect).Equals(mus_quad->opaque_rect)); |
| 460 EXPECT_TRUE(Rect::From(visible_rect).Equals(mojo_quad->visible_rect)); | 497 EXPECT_TRUE(Rect::From(visible_rect).Equals(mus_quad->visible_rect)); |
| 461 EXPECT_EQ(needs_blending, mojo_quad->needs_blending); | 498 EXPECT_EQ(needs_blending, mus_quad->needs_blending); |
| 462 ASSERT_TRUE(mojo_quad->debug_border_quad_state); | 499 ASSERT_TRUE(mus_quad->debug_border_quad_state); |
| 463 DebugBorderQuadStatePtr& mojo_debug_border_state = | 500 DebugBorderQuadStatePtr& mus_debug_border_state = |
| 464 mojo_quad->debug_border_quad_state; | 501 mus_quad->debug_border_quad_state; |
| 465 EXPECT_TRUE( | 502 EXPECT_TRUE( |
| 466 Color::From(arbitrary_color).Equals(mojo_debug_border_state->color)); | 503 Color::From(arbitrary_color).Equals(mus_debug_border_state->color)); |
| 467 EXPECT_EQ(width, mojo_debug_border_state->width); | 504 EXPECT_EQ(width, mus_debug_border_state->width); |
| 468 } | 505 } |
| 469 | 506 |
| 470 } // namespace | 507 } // namespace |
| 471 } // namespace mojo | 508 } // namespace mojo |
| OLD | NEW |