| 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 <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" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 using mus::mojom::CompositorFrameMetadata; | 28 using mus::mojom::CompositorFrameMetadata; |
| 29 using mus::mojom::CompositorFrameMetadataPtr; | 29 using mus::mojom::CompositorFrameMetadataPtr; |
| 30 using mus::mojom::DebugBorderQuadState; | 30 using mus::mojom::DebugBorderQuadState; |
| 31 using mus::mojom::DebugBorderQuadStatePtr; | 31 using mus::mojom::DebugBorderQuadStatePtr; |
| 32 using mus::mojom::Pass; | 32 using mus::mojom::Pass; |
| 33 using mus::mojom::PassPtr; | 33 using mus::mojom::PassPtr; |
| 34 using mus::mojom::Quad; | 34 using mus::mojom::Quad; |
| 35 using mus::mojom::QuadPtr; | 35 using mus::mojom::QuadPtr; |
| 36 using mus::mojom::RenderPassQuadState; | 36 using mus::mojom::RenderPassQuadState; |
| 37 using mus::mojom::RenderPassQuadStatePtr; | 37 using mus::mojom::RenderPassQuadStatePtr; |
| 38 using mus::mojom::SharedQuadState; | |
| 39 using mus::mojom::SharedQuadStatePtr; | |
| 40 using mus::mojom::SolidColorQuadState; | 38 using mus::mojom::SolidColorQuadState; |
| 41 using mus::mojom::SolidColorQuadStatePtr; | 39 using mus::mojom::SolidColorQuadStatePtr; |
| 42 using mus::mojom::SurfaceQuadState; | 40 using mus::mojom::SurfaceQuadState; |
| 43 using mus::mojom::SurfaceQuadStatePtr; | 41 using mus::mojom::SurfaceQuadStatePtr; |
| 44 using mus::mojom::TextureQuadState; | 42 using mus::mojom::TextureQuadState; |
| 45 using mus::mojom::TextureQuadStatePtr; | 43 using mus::mojom::TextureQuadStatePtr; |
| 46 using mus::mojom::TileQuadState; | 44 using mus::mojom::TileQuadState; |
| 47 using mus::mojom::TileQuadStatePtr; | 45 using mus::mojom::TileQuadStatePtr; |
| 48 using mus::mojom::YUVColorSpace; | 46 using mus::mojom::YUVColorSpace; |
| 49 using mus::mojom::YUVVideoQuadState; | 47 using mus::mojom::YUVVideoQuadState; |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { | 157 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) { |
| 160 QuadPtr mus_texture_quad = Quad::New(); | 158 QuadPtr mus_texture_quad = Quad::New(); |
| 161 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT; | 159 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT; |
| 162 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); | 160 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); |
| 163 mus_texture_state->background_color = Color::New(); | 161 mus_texture_state->background_color = Color::New(); |
| 164 mus_texture_quad->texture_quad_state = std::move(mus_texture_state); | 162 mus_texture_quad->texture_quad_state = std::move(mus_texture_state); |
| 165 PassPtr mus_pass = Pass::New(); | 163 PassPtr mus_pass = Pass::New(); |
| 166 mus_pass->id.layer_id = 1; | 164 mus_pass->id.layer_id = 1; |
| 167 mus_pass->id.index = 1u; | 165 mus_pass->id.index = 1u; |
| 168 mus_pass->quads.push_back(std::move(mus_texture_quad)); | 166 mus_pass->quads.push_back(std::move(mus_texture_quad)); |
| 169 SharedQuadStatePtr mus_sqs = SharedQuadState::New(); | 167 std::unique_ptr<cc::SharedQuadState> sqs(new cc::SharedQuadState()); |
| 170 mus_pass->shared_quad_states.push_back(std::move(mus_sqs)); | 168 mus_pass->shared_quad_states.push_back(std::move(sqs)); |
| 171 | 169 |
| 172 std::unique_ptr<cc::RenderPass> pass = | 170 std::unique_ptr<cc::RenderPass> pass = |
| 173 mus_pass.To<std::unique_ptr<cc::RenderPass>>(); | 171 mus_pass.To<std::unique_ptr<cc::RenderPass>>(); |
| 174 | 172 |
| 175 EXPECT_FALSE(pass); | 173 EXPECT_FALSE(pass); |
| 176 } | 174 } |
| 177 | 175 |
| 178 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) { | 176 TEST_F(SurfaceLibQuadTest, TextureQuadEmptyBackgroundColor) { |
| 179 QuadPtr mus_texture_quad = Quad::New(); | 177 QuadPtr mus_texture_quad = Quad::New(); |
| 180 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT; | 178 mus_texture_quad->material = mus::mojom::Material::TEXTURE_CONTENT; |
| 181 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); | 179 TextureQuadStatePtr mus_texture_state = TextureQuadState::New(); |
| 182 mus_texture_state->vertex_opacity = mojo::Array<float>::New(4); | 180 mus_texture_state->vertex_opacity = mojo::Array<float>::New(4); |
| 183 mus_texture_quad->texture_quad_state = std::move(mus_texture_state); | 181 mus_texture_quad->texture_quad_state = std::move(mus_texture_state); |
| 184 PassPtr mus_pass = Pass::New(); | 182 PassPtr mus_pass = Pass::New(); |
| 185 mus_pass->id.layer_id = 1; | 183 mus_pass->id.layer_id = 1; |
| 186 mus_pass->id.index = 1u; | 184 mus_pass->id.index = 1u; |
| 187 mus_pass->quads.push_back(std::move(mus_texture_quad)); | 185 mus_pass->quads.push_back(std::move(mus_texture_quad)); |
| 188 SharedQuadStatePtr mus_sqs = SharedQuadState::New(); | 186 std::unique_ptr<cc::SharedQuadState> sqs(new cc::SharedQuadState()); |
| 189 mus_pass->shared_quad_states.push_back(std::move(mus_sqs)); | 187 mus_pass->shared_quad_states.push_back(std::move(sqs)); |
| 190 | 188 |
| 191 std::unique_ptr<cc::RenderPass> pass = | 189 std::unique_ptr<cc::RenderPass> pass = |
| 192 mus_pass.To<std::unique_ptr<cc::RenderPass>>(); | 190 mus_pass.To<std::unique_ptr<cc::RenderPass>>(); |
| 193 EXPECT_FALSE(pass); | 191 EXPECT_FALSE(pass); |
| 194 } | 192 } |
| 195 | 193 |
| 196 TEST(SurfaceLibTest, SharedQuadState) { | |
| 197 gfx::Transform quad_to_target_transform; | |
| 198 quad_to_target_transform.Scale3d(0.3f, 0.7f, 0.9f); | |
| 199 gfx::Size quad_layer_bounds(57, 39); | |
| 200 gfx::Rect visible_quad_layer_rect(3, 7, 28, 42); | |
| 201 gfx::Rect clip_rect(9, 12, 21, 31); | |
| 202 bool is_clipped = true; | |
| 203 float opacity = 0.65f; | |
| 204 int sorting_context_id = 13; | |
| 205 ::SkXfermode::Mode blend_mode = ::SkXfermode::kSrcOver_Mode; | |
| 206 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | |
| 207 cc::SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState(); | |
| 208 sqs->SetAll(quad_to_target_transform, quad_layer_bounds, | |
| 209 visible_quad_layer_rect, clip_rect, is_clipped, opacity, | |
| 210 blend_mode, sorting_context_id); | |
| 211 | |
| 212 SharedQuadStatePtr mus_sqs = SharedQuadState::From(*sqs); | |
| 213 ASSERT_FALSE(mus_sqs.is_null()); | |
| 214 EXPECT_EQ(quad_to_target_transform, mus_sqs->quad_to_target_transform); | |
| 215 EXPECT_EQ(quad_layer_bounds, mus_sqs->quad_layer_bounds); | |
| 216 EXPECT_EQ(visible_quad_layer_rect, mus_sqs->visible_quad_layer_rect); | |
| 217 EXPECT_EQ(clip_rect, mus_sqs->clip_rect); | |
| 218 EXPECT_EQ(is_clipped, mus_sqs->is_clipped); | |
| 219 EXPECT_EQ(opacity, mus_sqs->opacity); | |
| 220 EXPECT_EQ(sorting_context_id, mus_sqs->sorting_context_id); | |
| 221 } | |
| 222 | |
| 223 TEST(SurfaceLibTest, RenderPass) { | 194 TEST(SurfaceLibTest, RenderPass) { |
| 224 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | 195 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); |
| 225 cc::RenderPassId pass_id(1, 6); | 196 cc::RenderPassId pass_id(1, 6); |
| 226 gfx::Rect output_rect(4, 9, 13, 71); | 197 gfx::Rect output_rect(4, 9, 13, 71); |
| 227 gfx::Rect damage_rect(9, 17, 41, 45); | 198 gfx::Rect damage_rect(9, 17, 41, 45); |
| 228 gfx::Transform transform_to_root_target; | 199 gfx::Transform transform_to_root_target; |
| 229 transform_to_root_target.Skew(0.0, 43.0); | 200 transform_to_root_target.Skew(0.0, 43.0); |
| 230 bool has_transparent_background = false; | 201 bool has_transparent_background = false; |
| 231 pass->SetAll(pass_id, | 202 pass->SetAll(pass_id, |
| 232 output_rect, | 203 output_rect, |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 ASSERT_TRUE(mus_quad->debug_border_quad_state); | 355 ASSERT_TRUE(mus_quad->debug_border_quad_state); |
| 385 DebugBorderQuadStatePtr& mus_debug_border_state = | 356 DebugBorderQuadStatePtr& mus_debug_border_state = |
| 386 mus_quad->debug_border_quad_state; | 357 mus_quad->debug_border_quad_state; |
| 387 EXPECT_TRUE( | 358 EXPECT_TRUE( |
| 388 Color::From(arbitrary_color).Equals(mus_debug_border_state->color)); | 359 Color::From(arbitrary_color).Equals(mus_debug_border_state->color)); |
| 389 EXPECT_EQ(width, mus_debug_border_state->width); | 360 EXPECT_EQ(width, mus_debug_border_state->width); |
| 390 } | 361 } |
| 391 | 362 |
| 392 } // namespace | 363 } // namespace |
| 393 } // namespace mojo | 364 } // namespace mojo |
| OLD | NEW |