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

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

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: rebase Created 4 years, 2 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
« no previous file with comments | « cc/ipc/quads.mojom ('k') | cc/ipc/quads_struct_traits.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef CC_IPC_QUADS_STRUCT_TRAITS_H_ 5 #ifndef CC_IPC_QUADS_STRUCT_TRAITS_H_
6 #define CC_IPC_QUADS_STRUCT_TRAITS_H_ 6 #define CC_IPC_QUADS_STRUCT_TRAITS_H_
7 7
8 #include "cc/ipc/filter_operation_struct_traits.h" 8 #include "cc/ipc/filter_operation_struct_traits.h"
9 #include "cc/ipc/filter_operations_struct_traits.h" 9 #include "cc/ipc/filter_operations_struct_traits.h"
10 #include "cc/ipc/quads.mojom-shared.h" 10 #include "cc/ipc/quads.mojom-shared.h"
11 #include "cc/ipc/render_pass_id_struct_traits.h" 11 #include "cc/ipc/render_pass_id_struct_traits.h"
12 #include "cc/ipc/shared_quad_state_struct_traits.h" 12 #include "cc/ipc/shared_quad_state_struct_traits.h"
13 #include "cc/ipc/surface_id_struct_traits.h" 13 #include "cc/ipc/surface_id_struct_traits.h"
14 #include "cc/quads/debug_border_draw_quad.h" 14 #include "cc/quads/debug_border_draw_quad.h"
15 #include "cc/quads/picture_draw_quad.h" 15 #include "cc/quads/picture_draw_quad.h"
16 #include "cc/quads/render_pass_draw_quad.h" 16 #include "cc/quads/render_pass_draw_quad.h"
17 #include "cc/quads/solid_color_draw_quad.h" 17 #include "cc/quads/solid_color_draw_quad.h"
18 #include "cc/quads/stream_video_draw_quad.h" 18 #include "cc/quads/stream_video_draw_quad.h"
19 #include "cc/quads/surface_draw_quad.h" 19 #include "cc/quads/surface_draw_quad.h"
20 #include "cc/quads/texture_draw_quad.h" 20 #include "cc/quads/texture_draw_quad.h"
21 #include "cc/quads/tile_draw_quad.h" 21 #include "cc/quads/tile_draw_quad.h"
22 #include "cc/quads/y_video_draw_quad.h"
22 #include "cc/quads/yuv_video_draw_quad.h" 23 #include "cc/quads/yuv_video_draw_quad.h"
23 #include "ui/gfx/geometry/mojo/geometry_struct_traits.h" 24 #include "ui/gfx/geometry/mojo/geometry_struct_traits.h"
24 25
25 namespace mojo { 26 namespace mojo {
26 27
27 cc::DrawQuad* AllocateAndConstruct( 28 cc::DrawQuad* AllocateAndConstruct(
28 cc::mojom::DrawQuadStateDataView::Tag material, 29 cc::mojom::DrawQuadStateDataView::Tag material,
29 cc::QuadList* list); 30 cc::QuadList* list);
30 31
31 template <> 32 template <>
(...skipping 14 matching lines...) Expand all
46 case cc::DrawQuad::STREAM_VIDEO_CONTENT: 47 case cc::DrawQuad::STREAM_VIDEO_CONTENT:
47 return cc::mojom::DrawQuadStateDataView::Tag::STREAM_VIDEO_QUAD_STATE; 48 return cc::mojom::DrawQuadStateDataView::Tag::STREAM_VIDEO_QUAD_STATE;
48 case cc::DrawQuad::SURFACE_CONTENT: 49 case cc::DrawQuad::SURFACE_CONTENT:
49 return cc::mojom::DrawQuadStateDataView::Tag::SURFACE_QUAD_STATE; 50 return cc::mojom::DrawQuadStateDataView::Tag::SURFACE_QUAD_STATE;
50 case cc::DrawQuad::TEXTURE_CONTENT: 51 case cc::DrawQuad::TEXTURE_CONTENT:
51 return cc::mojom::DrawQuadStateDataView::Tag::TEXTURE_QUAD_STATE; 52 return cc::mojom::DrawQuadStateDataView::Tag::TEXTURE_QUAD_STATE;
52 case cc::DrawQuad::TILED_CONTENT: 53 case cc::DrawQuad::TILED_CONTENT:
53 return cc::mojom::DrawQuadStateDataView::Tag::TILE_QUAD_STATE; 54 return cc::mojom::DrawQuadStateDataView::Tag::TILE_QUAD_STATE;
54 case cc::DrawQuad::YUV_VIDEO_CONTENT: 55 case cc::DrawQuad::YUV_VIDEO_CONTENT:
55 return cc::mojom::DrawQuadStateDataView::Tag::YUV_VIDEO_QUAD_STATE; 56 return cc::mojom::DrawQuadStateDataView::Tag::YUV_VIDEO_QUAD_STATE;
57 case cc::DrawQuad::Y_VIDEO_CONTENT:
58 return cc::mojom::DrawQuadStateDataView::Tag::Y_VIDEO_QUAD_STATE;
56 } 59 }
57 NOTREACHED(); 60 NOTREACHED();
58 return cc::mojom::DrawQuadStateDataView::Tag::DEBUG_BORDER_QUAD_STATE; 61 return cc::mojom::DrawQuadStateDataView::Tag::DEBUG_BORDER_QUAD_STATE;
59 } 62 }
60 63
61 static const cc::DrawQuad& debug_border_quad_state(const cc::DrawQuad& quad) { 64 static const cc::DrawQuad& debug_border_quad_state(const cc::DrawQuad& quad) {
62 return quad; 65 return quad;
63 } 66 }
64 67
65 static const cc::DrawQuad& render_pass_quad_state(const cc::DrawQuad& quad) { 68 static const cc::DrawQuad& render_pass_quad_state(const cc::DrawQuad& quad) {
(...skipping 17 matching lines...) Expand all
83 } 86 }
84 87
85 static const cc::DrawQuad& stream_video_quad_state(const cc::DrawQuad& quad) { 88 static const cc::DrawQuad& stream_video_quad_state(const cc::DrawQuad& quad) {
86 return quad; 89 return quad;
87 } 90 }
88 91
89 static const cc::DrawQuad& yuv_video_quad_state(const cc::DrawQuad& quad) { 92 static const cc::DrawQuad& yuv_video_quad_state(const cc::DrawQuad& quad) {
90 return quad; 93 return quad;
91 } 94 }
92 95
96 static const cc::DrawQuad& y_video_quad_state(const cc::DrawQuad& quad) {
97 return quad;
98 }
99
93 static bool Read(cc::mojom::DrawQuadStateDataView data, cc::DrawQuad* out) { 100 static bool Read(cc::mojom::DrawQuadStateDataView data, cc::DrawQuad* out) {
94 switch (data.tag()) { 101 switch (data.tag()) {
95 case cc::mojom::DrawQuadStateDataView::Tag::DEBUG_BORDER_QUAD_STATE: 102 case cc::mojom::DrawQuadStateDataView::Tag::DEBUG_BORDER_QUAD_STATE:
96 return data.ReadDebugBorderQuadState(out); 103 return data.ReadDebugBorderQuadState(out);
97 case cc::mojom::DrawQuadStateDataView::Tag::RENDER_PASS_QUAD_STATE: 104 case cc::mojom::DrawQuadStateDataView::Tag::RENDER_PASS_QUAD_STATE:
98 return data.ReadRenderPassQuadState(out); 105 return data.ReadRenderPassQuadState(out);
99 case cc::mojom::DrawQuadStateDataView::Tag::SOLID_COLOR_QUAD_STATE: 106 case cc::mojom::DrawQuadStateDataView::Tag::SOLID_COLOR_QUAD_STATE:
100 return data.ReadSolidColorQuadState(out); 107 return data.ReadSolidColorQuadState(out);
101 case cc::mojom::DrawQuadStateDataView::Tag::SURFACE_QUAD_STATE: 108 case cc::mojom::DrawQuadStateDataView::Tag::SURFACE_QUAD_STATE:
102 return data.ReadSurfaceQuadState(out); 109 return data.ReadSurfaceQuadState(out);
103 case cc::mojom::DrawQuadStateDataView::Tag::TEXTURE_QUAD_STATE: 110 case cc::mojom::DrawQuadStateDataView::Tag::TEXTURE_QUAD_STATE:
104 return data.ReadTextureQuadState(out); 111 return data.ReadTextureQuadState(out);
105 case cc::mojom::DrawQuadStateDataView::Tag::TILE_QUAD_STATE: 112 case cc::mojom::DrawQuadStateDataView::Tag::TILE_QUAD_STATE:
106 return data.ReadTileQuadState(out); 113 return data.ReadTileQuadState(out);
107 case cc::mojom::DrawQuadStateDataView::Tag::STREAM_VIDEO_QUAD_STATE: 114 case cc::mojom::DrawQuadStateDataView::Tag::STREAM_VIDEO_QUAD_STATE:
108 return data.ReadStreamVideoQuadState(out); 115 return data.ReadStreamVideoQuadState(out);
109 case cc::mojom::DrawQuadStateDataView::Tag::YUV_VIDEO_QUAD_STATE: 116 case cc::mojom::DrawQuadStateDataView::Tag::YUV_VIDEO_QUAD_STATE:
110 return data.ReadYuvVideoQuadState(out); 117 return data.ReadYuvVideoQuadState(out);
118 case cc::mojom::DrawQuadStateDataView::Tag::Y_VIDEO_QUAD_STATE:
119 return data.ReadYVideoQuadState(out);
111 } 120 }
112 NOTREACHED(); 121 NOTREACHED();
113 return false; 122 return false;
114 } 123 }
115 }; 124 };
116 125
117 template <> 126 template <>
118 struct StructTraits<cc::mojom::DebugBorderQuadStateDataView, cc::DrawQuad> { 127 struct StructTraits<cc::mojom::DebugBorderQuadStateDataView, cc::DrawQuad> {
119 static uint32_t color(const cc::DrawQuad& input) { 128 static uint32_t color(const cc::DrawQuad& input) {
120 const cc::DebugBorderDrawQuad* quad = 129 const cc::DebugBorderDrawQuad* quad =
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 static uint32_t bits_per_channel(const cc::DrawQuad& input) { 409 static uint32_t bits_per_channel(const cc::DrawQuad& input) {
401 const cc::YUVVideoDrawQuad* quad = 410 const cc::YUVVideoDrawQuad* quad =
402 cc::YUVVideoDrawQuad::MaterialCast(&input); 411 cc::YUVVideoDrawQuad::MaterialCast(&input);
403 return quad->bits_per_channel; 412 return quad->bits_per_channel;
404 } 413 }
405 414
406 static bool Read(cc::mojom::YUVVideoQuadStateDataView data, 415 static bool Read(cc::mojom::YUVVideoQuadStateDataView data,
407 cc::DrawQuad* out); 416 cc::DrawQuad* out);
408 }; 417 };
409 418
419 template <>
420 struct StructTraits<cc::mojom::YVideoQuadStateDataView, cc::DrawQuad> {
421 static uint32_t resource_id(const cc::DrawQuad& input) {
422 const cc::YVideoDrawQuad* quad = cc::YVideoDrawQuad::MaterialCast(&input);
423 return quad->resource_id();
424 }
425
426 static const gfx::PointF& uv_top_left(const cc::DrawQuad& input) {
427 const cc::YVideoDrawQuad* quad = cc::YVideoDrawQuad::MaterialCast(&input);
428 return quad->uv_top_left;
429 }
430
431 static const gfx::PointF& uv_bottom_right(const cc::DrawQuad& input) {
432 const cc::YVideoDrawQuad* quad = cc::YVideoDrawQuad::MaterialCast(&input);
433 return quad->uv_bottom_right;
434 }
435
436 static bool Read(cc::mojom::YVideoQuadStateDataView data, cc::DrawQuad* out);
437 };
438
410 struct DrawQuadWithSharedQuadState { 439 struct DrawQuadWithSharedQuadState {
411 const cc::DrawQuad* quad; 440 const cc::DrawQuad* quad;
412 const cc::SharedQuadState* shared_quad_state; 441 const cc::SharedQuadState* shared_quad_state;
413 }; 442 };
414 443
415 template <> 444 template <>
416 struct StructTraits<cc::mojom::DrawQuadDataView, DrawQuadWithSharedQuadState> { 445 struct StructTraits<cc::mojom::DrawQuadDataView, DrawQuadWithSharedQuadState> {
417 static const gfx::Rect& rect(const DrawQuadWithSharedQuadState& input) { 446 static const gfx::Rect& rect(const DrawQuadWithSharedQuadState& input) {
418 return input.quad->rect; 447 return input.quad->rect;
419 } 448 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 dq.shared_quad_state = current_sqs; 506 dq.shared_quad_state = current_sqs;
478 return dq; 507 return dq;
479 } 508 }
480 509
481 static size_t GetSize(const cc::QuadList& input) { return input.size(); } 510 static size_t GetSize(const cc::QuadList& input) { return input.size(); }
482 }; 511 };
483 512
484 } // namespace mojo 513 } // namespace mojo
485 514
486 #endif // CC_IPC_QUADS_STRUCT_TRAITS_H_ 515 #endif // CC_IPC_QUADS_STRUCT_TRAITS_H_
OLDNEW
« no previous file with comments | « cc/ipc/quads.mojom ('k') | cc/ipc/quads_struct_traits.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698