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

Side by Side Diff: cc/test/render_pass_test_common.cc

Issue 11777025: cc: Implement DelegatingRender::drawFrame() method. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits Created 7 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/test/render_pass_test_common.h" 5 #include "cc/test/render_pass_test_common.h"
6 6
7 #include "cc/checkerboard_draw_quad.h" 7 #include "cc/checkerboard_draw_quad.h"
8 #include "cc/debug_border_draw_quad.h" 8 #include "cc/debug_border_draw_quad.h"
9 #include "cc/io_surface_draw_quad.h" 9 #include "cc/io_surface_draw_quad.h"
10 #include "cc/render_pass_draw_quad.h" 10 #include "cc/render_pass_draw_quad.h"
11 #include "cc/solid_color_draw_quad.h" 11 #include "cc/solid_color_draw_quad.h"
12 #include "cc/shared_quad_state.h" 12 #include "cc/shared_quad_state.h"
13 #include "cc/stream_video_draw_quad.h" 13 #include "cc/stream_video_draw_quad.h"
14 #include "cc/texture_draw_quad.h" 14 #include "cc/texture_draw_quad.h"
15 #include "cc/tile_draw_quad.h" 15 #include "cc/tile_draw_quad.h"
16 #include "cc/yuv_video_draw_quad.h" 16 #include "cc/yuv_video_draw_quad.h"
17 #include "cc/resource_provider.h" 17 #include "cc/resource_provider.h"
18 #include "ui/gfx/transform.h" 18 #include "ui/gfx/transform.h"
19 19
20 namespace cc { 20 namespace cc {
21 21
22 void TestRenderPass::AppendOneOfEveryQuadType( 22 void TestRenderPass::AppendOneOfEveryQuadType(
23 cc::ResourceProvider* resourceProvider) { 23 cc::ResourceProvider* resourceProvider, RenderPass::Id childPass) {
24 gfx::Rect rect(0, 0, 100, 100); 24 gfx::Rect rect(0, 0, 100, 100);
25 gfx::Rect opaque_rect(10, 10, 80, 80); 25 gfx::Rect opaque_rect(10, 10, 80, 80);
26 const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; 26 const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
27 cc::ResourceProvider::ResourceId texture_resource = 27 cc::ResourceProvider::ResourceId texture_resource =
28 resourceProvider->createResource( 28 resourceProvider->createResource(
29 gfx::Size(20, 12), 29 gfx::Size(20, 12),
30 resourceProvider->bestTextureFormat(), 30 resourceProvider->bestTextureFormat(),
31 ResourceProvider::TextureUsageAny); 31 ResourceProvider::TextureUsageAny);
32 unsigned texture_id = ResourceProvider::ScopedReadLockGL( 32 unsigned texture_id = ResourceProvider::ScopedReadLockGL(
33 resourceProvider, texture_resource).textureId(); 33 resourceProvider, texture_resource).textureId();
34 cc::ResourceProvider::ResourceId resource1 =
35 resourceProvider->createResource(
36 gfx::Size(45, 5),
37 resourceProvider->bestTextureFormat(),
38 ResourceProvider::TextureUsageAny);
39 cc::ResourceProvider::ResourceId resource2 =
40 resourceProvider->createResource(
41 gfx::Size(346, 61),
42 resourceProvider->bestTextureFormat(),
43 ResourceProvider::TextureUsageAny);
44 cc::ResourceProvider::ResourceId resource3 =
45 resourceProvider->createResource(
46 gfx::Size(12, 134),
47 resourceProvider->bestTextureFormat(),
48 ResourceProvider::TextureUsageAny);
49 cc::ResourceProvider::ResourceId resource4 =
50 resourceProvider->createResource(
51 gfx::Size(56, 12),
52 resourceProvider->bestTextureFormat(),
53 ResourceProvider::TextureUsageAny);
54 cc::ResourceProvider::ResourceId resource5 =
55 resourceProvider->createResource(
56 gfx::Size(73, 26),
57 resourceProvider->bestTextureFormat(),
58 ResourceProvider::TextureUsageAny);
34 59
35 scoped_ptr<cc::SharedQuadState> shared_state = cc::SharedQuadState::Create(); 60 scoped_ptr<cc::SharedQuadState> shared_state = cc::SharedQuadState::Create();
36 shared_state->SetAll(gfx::Transform(), 61 shared_state->SetAll(gfx::Transform(),
37 rect, 62 rect,
38 rect, 63 rect,
39 rect, 64 rect,
40 false, 65 false,
41 1); 66 1);
42 67
43 scoped_ptr<cc::CheckerboardDrawQuad> checkerboard_quad = 68 scoped_ptr<cc::CheckerboardDrawQuad> checkerboard_quad =
(...skipping 14 matching lines...) Expand all
58 scoped_ptr<cc::IOSurfaceDrawQuad> io_surface_quad = 83 scoped_ptr<cc::IOSurfaceDrawQuad> io_surface_quad =
59 cc::IOSurfaceDrawQuad::Create(); 84 cc::IOSurfaceDrawQuad::Create();
60 io_surface_quad->SetNew(shared_state.get(), 85 io_surface_quad->SetNew(shared_state.get(),
61 rect, 86 rect,
62 opaque_rect, 87 opaque_rect,
63 gfx::Size(50, 50), 88 gfx::Size(50, 50),
64 texture_id, 89 texture_id,
65 cc::IOSurfaceDrawQuad::FLIPPED); 90 cc::IOSurfaceDrawQuad::FLIPPED);
66 AppendQuad(io_surface_quad.PassAs<DrawQuad>()); 91 AppendQuad(io_surface_quad.PassAs<DrawQuad>());
67 92
68 scoped_ptr<cc::RenderPassDrawQuad> render_pass_quad = 93 if (childPass.layer_id) {
69 cc::RenderPassDrawQuad::Create(); 94 scoped_ptr<cc::RenderPassDrawQuad> render_pass_quad =
70 render_pass_quad->SetNew(shared_state.get(), 95 cc::RenderPassDrawQuad::Create();
71 rect, 96 render_pass_quad->SetNew(shared_state.get(),
72 cc::RenderPass::Id(1, 1), 97 rect,
73 false, 98 childPass,
74 0, 99 false,
75 rect, 100 resource5,
76 gfx::RectF(), 101 rect,
77 WebKit::WebFilterOperations(), 102 gfx::RectF(),
78 skia::RefPtr<SkImageFilter>(), 103 WebKit::WebFilterOperations(),
79 WebKit::WebFilterOperations()); 104 skia::RefPtr<SkImageFilter>(),
80 AppendQuad(render_pass_quad.PassAs<DrawQuad>()); 105 WebKit::WebFilterOperations());
106 AppendQuad(render_pass_quad.PassAs<DrawQuad>());
107
108 scoped_ptr<cc::RenderPassDrawQuad> render_pass_replica_quad =
109 cc::RenderPassDrawQuad::Create();
110 render_pass_replica_quad->SetNew(shared_state.get(),
111 rect,
112 childPass,
113 true,
114 resource5,
115 rect,
116 gfx::RectF(),
117 WebKit::WebFilterOperations(),
118 skia::RefPtr<SkImageFilter>(),
119 WebKit::WebFilterOperations());
120 AppendQuad(render_pass_replica_quad.PassAs<DrawQuad>());
121 }
81 122
82 scoped_ptr<cc::SolidColorDrawQuad> solid_color_quad = 123 scoped_ptr<cc::SolidColorDrawQuad> solid_color_quad =
83 cc::SolidColorDrawQuad::Create(); 124 cc::SolidColorDrawQuad::Create();
84 solid_color_quad->SetNew(shared_state.get(), 125 solid_color_quad->SetNew(shared_state.get(),
85 rect, 126 rect,
86 SK_ColorRED); 127 SK_ColorRED);
87 AppendQuad(solid_color_quad.PassAs<DrawQuad>()); 128 AppendQuad(solid_color_quad.PassAs<DrawQuad>());
88 129
89 scoped_ptr<cc::StreamVideoDrawQuad> stream_video_quad = 130 scoped_ptr<cc::StreamVideoDrawQuad> stream_video_quad =
90 cc::StreamVideoDrawQuad::Create(); 131 cc::StreamVideoDrawQuad::Create();
91 stream_video_quad->SetNew(shared_state.get(), 132 stream_video_quad->SetNew(shared_state.get(),
92 rect, 133 rect,
93 opaque_rect, 134 opaque_rect,
94 texture_id, 135 texture_id,
95 gfx::Transform()); 136 gfx::Transform());
96 AppendQuad(stream_video_quad.PassAs<DrawQuad>()); 137 AppendQuad(stream_video_quad.PassAs<DrawQuad>());
97 138
98 scoped_ptr<cc::TextureDrawQuad> texture_quad = 139 scoped_ptr<cc::TextureDrawQuad> texture_quad =
99 cc::TextureDrawQuad::Create(); 140 cc::TextureDrawQuad::Create();
100 texture_quad->SetNew(shared_state.get(), 141 texture_quad->SetNew(shared_state.get(),
101 rect, 142 rect,
102 opaque_rect, 143 opaque_rect,
103 texture_resource, 144 resource1,
104 false, 145 false,
105 rect, 146 rect,
106 vertex_opacity, 147 vertex_opacity,
107 false); 148 false);
108 AppendQuad(texture_quad.PassAs<DrawQuad>()); 149 AppendQuad(texture_quad.PassAs<DrawQuad>());
109 150
110 scoped_ptr<cc::TileDrawQuad> scaled_tile_quad = 151 scoped_ptr<cc::TileDrawQuad> scaled_tile_quad =
111 cc::TileDrawQuad::Create(); 152 cc::TileDrawQuad::Create();
112 scaled_tile_quad->SetNew(shared_state.get(), 153 scaled_tile_quad->SetNew(shared_state.get(),
113 rect, 154 rect,
114 opaque_rect, 155 opaque_rect,
115 texture_resource, 156 resource2,
116 gfx::RectF(0, 0, 50, 50), 157 gfx::RectF(0, 0, 50, 50),
117 gfx::Size(50, 50), 158 gfx::Size(50, 50),
118 false, 159 false,
119 false, 160 false,
120 false, 161 false,
121 false, 162 false,
122 false); 163 false);
123 AppendQuad(scaled_tile_quad.PassAs<DrawQuad>()); 164 AppendQuad(scaled_tile_quad.PassAs<DrawQuad>());
124 165
125 scoped_ptr<cc::SharedQuadState> transformed_state = shared_state->Copy(); 166 scoped_ptr<cc::SharedQuadState> transformed_state = shared_state->Copy();
126 gfx::Transform rotation; 167 gfx::Transform rotation;
127 rotation.Rotate(45); 168 rotation.Rotate(45);
128 transformed_state->content_to_target_transform = transformed_state->content_to _target_transform * rotation; 169 transformed_state->content_to_target_transform = transformed_state->content_to _target_transform * rotation;
129 scoped_ptr<cc::TileDrawQuad> transformed_tile_quad = 170 scoped_ptr<cc::TileDrawQuad> transformed_tile_quad =
130 cc::TileDrawQuad::Create(); 171 cc::TileDrawQuad::Create();
131 transformed_tile_quad->SetNew(transformed_state.get(), 172 transformed_tile_quad->SetNew(transformed_state.get(),
132 rect, 173 rect,
133 opaque_rect, 174 opaque_rect,
134 texture_resource, 175 resource3,
135 gfx::RectF(0, 0, 100, 100), 176 gfx::RectF(0, 0, 100, 100),
136 gfx::Size(100, 100), 177 gfx::Size(100, 100),
137 false, 178 false,
138 false, 179 false,
139 false, 180 false,
140 false, 181 false,
141 false); 182 false);
142 AppendQuad(transformed_tile_quad.PassAs<DrawQuad>()); 183 AppendQuad(transformed_tile_quad.PassAs<DrawQuad>());
143 184
144 scoped_ptr<cc::TileDrawQuad> tile_quad = 185 scoped_ptr<cc::TileDrawQuad> tile_quad =
145 cc::TileDrawQuad::Create(); 186 cc::TileDrawQuad::Create();
146 tile_quad->SetNew(shared_state.get(), 187 tile_quad->SetNew(shared_state.get(),
147 rect, 188 rect,
148 opaque_rect, 189 opaque_rect,
149 texture_resource, 190 resource4,
150 gfx::RectF(0, 0, 100, 100), 191 gfx::RectF(0, 0, 100, 100),
151 gfx::Size(100, 100), 192 gfx::Size(100, 100),
152 false, 193 false,
153 false, 194 false,
154 false, 195 false,
155 false, 196 false,
156 false); 197 false);
157 AppendQuad(tile_quad.PassAs<DrawQuad>()); 198 AppendQuad(tile_quad.PassAs<DrawQuad>());
158 199
159 cc::VideoLayerImpl::FramePlane planes[3]; 200 cc::VideoLayerImpl::FramePlane planes[3];
(...skipping 15 matching lines...) Expand all
175 planes[0], 216 planes[0],
176 planes[1], 217 planes[1],
177 planes[2]); 218 planes[2]);
178 AppendQuad(yuv_quad.PassAs<DrawQuad>()); 219 AppendQuad(yuv_quad.PassAs<DrawQuad>());
179 220
180 AppendSharedQuadState(transformed_state.Pass()); 221 AppendSharedQuadState(transformed_state.Pass());
181 AppendSharedQuadState(shared_state.Pass()); 222 AppendSharedQuadState(shared_state.Pass());
182 } 223 }
183 224
184 } // namespace cc 225 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698