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

Side by Side Diff: cc/ipc/quads_struct_traits.cc

Issue 2121043002: 16 bpp video stream capture, render and WebGL usage - Realsense R200 & SR300 support. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: WebGL video to texture support and readPixels from R16UI for CPU access Created 4 years, 4 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 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 namespace { 10 namespace {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 break; 47 break;
48 case cc::DrawQuad::TEXTURE_CONTENT: 48 case cc::DrawQuad::TEXTURE_CONTENT:
49 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>(); 49 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>();
50 break; 50 break;
51 case cc::DrawQuad::TILED_CONTENT: 51 case cc::DrawQuad::TILED_CONTENT:
52 quad = list->AllocateAndConstruct<cc::TileDrawQuad>(); 52 quad = list->AllocateAndConstruct<cc::TileDrawQuad>();
53 break; 53 break;
54 case cc::DrawQuad::YUV_VIDEO_CONTENT: 54 case cc::DrawQuad::YUV_VIDEO_CONTENT:
55 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); 55 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>();
56 break; 56 break;
57 case cc::DrawQuad::Y_VIDEO_CONTENT:
58 quad = list->AllocateAndConstruct<cc::YVideoDrawQuad>();
59 break;
57 } 60 }
58 if (quad) 61 if (quad)
59 quad->material = material; 62 quad->material = material;
60 return quad != nullptr; 63 return quad != nullptr;
61 } 64 }
62 65
63 } // namespace 66 } // namespace
64 67
65 // static 68 // static
66 cc::mojom::Material 69 cc::mojom::Material
(...skipping 13 matching lines...) Expand all
80 case cc::DrawQuad::STREAM_VIDEO_CONTENT: 83 case cc::DrawQuad::STREAM_VIDEO_CONTENT:
81 return cc::mojom::Material::STREAM_VIDEO_CONTENT; 84 return cc::mojom::Material::STREAM_VIDEO_CONTENT;
82 case cc::DrawQuad::SURFACE_CONTENT: 85 case cc::DrawQuad::SURFACE_CONTENT:
83 return cc::mojom::Material::SURFACE_CONTENT; 86 return cc::mojom::Material::SURFACE_CONTENT;
84 case cc::DrawQuad::TEXTURE_CONTENT: 87 case cc::DrawQuad::TEXTURE_CONTENT:
85 return cc::mojom::Material::TEXTURE_CONTENT; 88 return cc::mojom::Material::TEXTURE_CONTENT;
86 case cc::DrawQuad::TILED_CONTENT: 89 case cc::DrawQuad::TILED_CONTENT:
87 return cc::mojom::Material::TILED_CONTENT; 90 return cc::mojom::Material::TILED_CONTENT;
88 case cc::DrawQuad::YUV_VIDEO_CONTENT: 91 case cc::DrawQuad::YUV_VIDEO_CONTENT:
89 return cc::mojom::Material::YUV_VIDEO_CONTENT; 92 return cc::mojom::Material::YUV_VIDEO_CONTENT;
93 case cc::DrawQuad::Y_VIDEO_CONTENT:
94 return cc::mojom::Material::Y_VIDEO_CONTENT;
90 } 95 }
91 return cc::mojom::Material::INVALID; 96 return cc::mojom::Material::INVALID;
92 } 97 }
93 98
94 // static 99 // static
95 bool EnumTraits<cc::mojom::Material, cc::DrawQuad::Material>::FromMojom( 100 bool EnumTraits<cc::mojom::Material, cc::DrawQuad::Material>::FromMojom(
96 cc::mojom::Material input, 101 cc::mojom::Material input,
97 cc::DrawQuad::Material* out) { 102 cc::DrawQuad::Material* out) {
98 switch (input) { 103 switch (input) {
99 case cc::mojom::Material::INVALID: 104 case cc::mojom::Material::INVALID:
(...skipping 19 matching lines...) Expand all
119 return true; 124 return true;
120 case cc::mojom::Material::TEXTURE_CONTENT: 125 case cc::mojom::Material::TEXTURE_CONTENT:
121 *out = cc::DrawQuad::TEXTURE_CONTENT; 126 *out = cc::DrawQuad::TEXTURE_CONTENT;
122 return true; 127 return true;
123 case cc::mojom::Material::TILED_CONTENT: 128 case cc::mojom::Material::TILED_CONTENT:
124 *out = cc::DrawQuad::TILED_CONTENT; 129 *out = cc::DrawQuad::TILED_CONTENT;
125 return true; 130 return true;
126 case cc::mojom::Material::YUV_VIDEO_CONTENT: 131 case cc::mojom::Material::YUV_VIDEO_CONTENT:
127 *out = cc::DrawQuad::YUV_VIDEO_CONTENT; 132 *out = cc::DrawQuad::YUV_VIDEO_CONTENT;
128 return true; 133 return true;
134 case cc::mojom::Material::Y_VIDEO_CONTENT:
135 *out = cc::DrawQuad::Y_VIDEO_CONTENT;
136 return true;
129 } 137 }
130 return false; 138 return false;
131 } 139 }
132 140
133 // static 141 // static
134 bool StructTraits<cc::mojom::DebugBorderQuadState, cc::DrawQuad>::Read( 142 bool StructTraits<cc::mojom::DebugBorderQuadState, cc::DrawQuad>::Read(
135 cc::mojom::DebugBorderQuadStateDataView data, 143 cc::mojom::DebugBorderQuadStateDataView data,
136 cc::DrawQuad* out) { 144 cc::DrawQuad* out) {
137 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); 145 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out);
138 quad->color = data.color(); 146 quad->color = data.color();
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 case cc::mojom::Material::STREAM_VIDEO_CONTENT: 323 case cc::mojom::Material::STREAM_VIDEO_CONTENT:
316 return data.ReadStreamVideoQuadState(out); 324 return data.ReadStreamVideoQuadState(out);
317 case cc::mojom::Material::SURFACE_CONTENT: 325 case cc::mojom::Material::SURFACE_CONTENT:
318 return data.ReadSurfaceQuadState(out); 326 return data.ReadSurfaceQuadState(out);
319 case cc::mojom::Material::TEXTURE_CONTENT: 327 case cc::mojom::Material::TEXTURE_CONTENT:
320 return data.ReadTextureQuadState(out); 328 return data.ReadTextureQuadState(out);
321 case cc::mojom::Material::TILED_CONTENT: 329 case cc::mojom::Material::TILED_CONTENT:
322 return data.ReadTileQuadState(out); 330 return data.ReadTileQuadState(out);
323 case cc::mojom::Material::YUV_VIDEO_CONTENT: 331 case cc::mojom::Material::YUV_VIDEO_CONTENT:
324 return data.ReadYuvVideoQuadState(out); 332 return data.ReadYuvVideoQuadState(out);
333 case cc::mojom::Material::Y_VIDEO_CONTENT:
334 // TODO(astojilj): Implement YVideoDrawQuad
335 // serialization/deserialization.
336 break;
325 } 337 }
326 NOTREACHED(); 338 NOTREACHED();
327 return false; 339 return false;
328 } 340 }
329 341
330 // static 342 // static
331 void* StructTraits<cc::mojom::QuadList, cc::QuadList>::SetUpContext( 343 void* StructTraits<cc::mojom::QuadList, cc::QuadList>::SetUpContext(
332 const cc::QuadList& quad_list) { 344 const cc::QuadList& quad_list) {
333 mojo::Array<cc::DrawQuad::Material>* materials = 345 mojo::Array<cc::DrawQuad::Material>* materials =
334 new mojo::Array<cc::DrawQuad::Material>(quad_list.size()); 346 new mojo::Array<cc::DrawQuad::Material>(quad_list.size());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 if (!AllocateAndConstruct(materials[i], out)) 379 if (!AllocateAndConstruct(materials[i], out))
368 return false; 380 return false;
369 } 381 }
370 // The materials array and the quads array are expected to be the same size. 382 // The materials array and the quads array are expected to be the same size.
371 // If they are not, then deserialization will fail. 383 // If they are not, then deserialization will fail.
372 QuadListArray quad_list_array = {materials.size(), out}; 384 QuadListArray quad_list_array = {materials.size(), out};
373 return data.ReadQuads(&quad_list_array); 385 return data.ReadQuads(&quad_list_array);
374 } 386 }
375 387
376 } // namespace mojo 388 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698