OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/ipc/quads_struct_traits.h" | 5 #include "cc/ipc/quads_struct_traits.h" |
6 #include "ui/gfx/mojo/transform_struct_traits.h" | 6 #include "ui/gfx/mojo/transform_struct_traits.h" |
7 | 7 |
8 namespace mojo { | 8 namespace mojo { |
9 | 9 |
10 cc::DrawQuad* AllocateAndConstruct(cc::mojom::Material material, | 10 cc::DrawQuad* AllocateAndConstruct(cc::mojom::Material material, |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 data.a_plane_resource_id(); | 291 data.a_plane_resource_id(); |
292 static_assert(cc::YUVVideoDrawQuad::kAPlaneResourceIdIndex == | 292 static_assert(cc::YUVVideoDrawQuad::kAPlaneResourceIdIndex == |
293 cc::DrawQuad::Resources::kMaxResourceIdCount - 1, | 293 cc::DrawQuad::Resources::kMaxResourceIdCount - 1, |
294 "The A plane resource should be the last resource ID."); | 294 "The A plane resource should be the last resource ID."); |
295 quad->resources.count = data.a_plane_resource_id() ? 4 : 3; | 295 quad->resources.count = data.a_plane_resource_id() ? 4 : 3; |
296 | 296 |
297 if (!data.ReadColorSpace(&quad->color_space)) | 297 if (!data.ReadColorSpace(&quad->color_space)) |
298 return false; | 298 return false; |
299 quad->resource_offset = data.resource_offset(); | 299 quad->resource_offset = data.resource_offset(); |
300 quad->resource_multiplier = data.resource_multiplier(); | 300 quad->resource_multiplier = data.resource_multiplier(); |
| 301 quad->bits_per_channel = data.bits_per_channel(); |
| 302 if (quad->bits_per_channel < cc::YUVVideoDrawQuad::kMinBitsPerChannel || |
| 303 quad->bits_per_channel > cc::YUVVideoDrawQuad::kMaxBitsPerChannel) { |
| 304 return false; |
| 305 } |
301 return true; | 306 return true; |
302 } | 307 } |
303 | 308 |
304 // static | 309 // static |
305 bool StructTraits<cc::mojom::DrawQuad, cc::DrawQuad>::Read( | 310 bool StructTraits<cc::mojom::DrawQuad, cc::DrawQuad>::Read( |
306 cc::mojom::DrawQuadDataView data, | 311 cc::mojom::DrawQuadDataView data, |
307 cc::DrawQuad* out) { | 312 cc::DrawQuad* out) { |
308 if (!ReadDrawQuad(data, out)) | 313 if (!ReadDrawQuad(data, out)) |
309 return false; | 314 return false; |
310 switch (data.material()) { | 315 switch (data.material()) { |
(...skipping 18 matching lines...) Expand all Loading... |
329 case cc::mojom::Material::TILED_CONTENT: | 334 case cc::mojom::Material::TILED_CONTENT: |
330 return data.ReadTileQuadState(out); | 335 return data.ReadTileQuadState(out); |
331 case cc::mojom::Material::YUV_VIDEO_CONTENT: | 336 case cc::mojom::Material::YUV_VIDEO_CONTENT: |
332 return data.ReadYuvVideoQuadState(out); | 337 return data.ReadYuvVideoQuadState(out); |
333 } | 338 } |
334 NOTREACHED(); | 339 NOTREACHED(); |
335 return false; | 340 return false; |
336 } | 341 } |
337 | 342 |
338 } // namespace mojo | 343 } // namespace mojo |
OLD | NEW |