| OLD | NEW |
| 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_utils.h" | 5 #include "cc/test/render_pass_test_utils.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "cc/quads/debug_border_draw_quad.h" | 10 #include "cc/quads/debug_border_draw_quad.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 pass->SetNew(id, output_rect, output_rect, root_transform); | 30 pass->SetNew(id, output_rect, output_rect, root_transform); |
| 31 RenderPass* saved = pass.get(); | 31 RenderPass* saved = pass.get(); |
| 32 pass_list->push_back(std::move(pass)); | 32 pass_list->push_back(std::move(pass)); |
| 33 return saved; | 33 return saved; |
| 34 } | 34 } |
| 35 | 35 |
| 36 SolidColorDrawQuad* AddQuad(RenderPass* pass, | 36 SolidColorDrawQuad* AddQuad(RenderPass* pass, |
| 37 const gfx::Rect& rect, | 37 const gfx::Rect& rect, |
| 38 SkColor color) { | 38 SkColor color) { |
| 39 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); | 39 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); |
| 40 shared_state->SetAll(gfx::Transform(), | 40 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1, |
| 41 rect.size(), | 41 SkBlendMode::kSrcOver, 0); |
| 42 rect, | |
| 43 rect, | |
| 44 false, | |
| 45 1, | |
| 46 SkXfermode::kSrcOver_Mode, | |
| 47 0); | |
| 48 SolidColorDrawQuad* quad = | 42 SolidColorDrawQuad* quad = |
| 49 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 43 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 50 quad->SetNew(shared_state, rect, rect, color, false); | 44 quad->SetNew(shared_state, rect, rect, color, false); |
| 51 return quad; | 45 return quad; |
| 52 } | 46 } |
| 53 | 47 |
| 54 SolidColorDrawQuad* AddClippedQuad(RenderPass* pass, | 48 SolidColorDrawQuad* AddClippedQuad(RenderPass* pass, |
| 55 const gfx::Rect& rect, | 49 const gfx::Rect& rect, |
| 56 SkColor color) { | 50 SkColor color) { |
| 57 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); | 51 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); |
| 58 shared_state->SetAll(gfx::Transform(), | 52 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, true, 1, |
| 59 rect.size(), | 53 SkBlendMode::kSrcOver, 0); |
| 60 rect, | |
| 61 rect, | |
| 62 true, | |
| 63 1, | |
| 64 SkXfermode::kSrcOver_Mode, | |
| 65 0); | |
| 66 SolidColorDrawQuad* quad = | 54 SolidColorDrawQuad* quad = |
| 67 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 55 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 68 quad->SetNew(shared_state, rect, rect, color, false); | 56 quad->SetNew(shared_state, rect, rect, color, false); |
| 69 return quad; | 57 return quad; |
| 70 } | 58 } |
| 71 | 59 |
| 72 SolidColorDrawQuad* AddTransformedQuad(RenderPass* pass, | 60 SolidColorDrawQuad* AddTransformedQuad(RenderPass* pass, |
| 73 const gfx::Rect& rect, | 61 const gfx::Rect& rect, |
| 74 SkColor color, | 62 SkColor color, |
| 75 const gfx::Transform& transform) { | 63 const gfx::Transform& transform) { |
| 76 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); | 64 SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); |
| 77 shared_state->SetAll(transform, | 65 shared_state->SetAll(transform, rect.size(), rect, rect, false, 1, |
| 78 rect.size(), | 66 SkBlendMode::kSrcOver, 0); |
| 79 rect, | |
| 80 rect, | |
| 81 false, | |
| 82 1, | |
| 83 SkXfermode::kSrcOver_Mode, | |
| 84 0); | |
| 85 SolidColorDrawQuad* quad = | 67 SolidColorDrawQuad* quad = |
| 86 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 68 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| 87 quad->SetNew(shared_state, rect, rect, color, false); | 69 quad->SetNew(shared_state, rect, rect, color, false); |
| 88 return quad; | 70 return quad; |
| 89 } | 71 } |
| 90 | 72 |
| 91 void AddRenderPassQuad(RenderPass* to_pass, RenderPass* contributing_pass) { | 73 void AddRenderPassQuad(RenderPass* to_pass, RenderPass* contributing_pass) { |
| 92 gfx::Rect output_rect = contributing_pass->output_rect; | 74 gfx::Rect output_rect = contributing_pass->output_rect; |
| 93 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); | 75 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); |
| 94 shared_state->SetAll(gfx::Transform(), | 76 shared_state->SetAll(gfx::Transform(), output_rect.size(), output_rect, |
| 95 output_rect.size(), | 77 output_rect, false, 1, SkBlendMode::kSrcOver, 0); |
| 96 output_rect, | |
| 97 output_rect, | |
| 98 false, | |
| 99 1, | |
| 100 SkXfermode::kSrcOver_Mode, | |
| 101 0); | |
| 102 RenderPassDrawQuad* quad = | 78 RenderPassDrawQuad* quad = |
| 103 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 79 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 104 quad->SetNew(shared_state, output_rect, output_rect, contributing_pass->id, 0, | 80 quad->SetNew(shared_state, output_rect, output_rect, contributing_pass->id, 0, |
| 105 gfx::Vector2dF(), gfx::Size(), FilterOperations(), | 81 gfx::Vector2dF(), gfx::Size(), FilterOperations(), |
| 106 gfx::Vector2dF(), gfx::PointF(), FilterOperations()); | 82 gfx::Vector2dF(), gfx::PointF(), FilterOperations()); |
| 107 } | 83 } |
| 108 | 84 |
| 109 void AddRenderPassQuad(RenderPass* to_pass, | 85 void AddRenderPassQuad(RenderPass* to_pass, |
| 110 RenderPass* contributing_pass, | 86 RenderPass* contributing_pass, |
| 111 ResourceId mask_resource_id, | 87 ResourceId mask_resource_id, |
| 112 const FilterOperations& filters, | 88 const FilterOperations& filters, |
| 113 gfx::Transform transform, | 89 gfx::Transform transform, |
| 114 SkXfermode::Mode blend_mode) { | 90 SkBlendMode blend_mode) { |
| 115 gfx::Rect output_rect = contributing_pass->output_rect; | 91 gfx::Rect output_rect = contributing_pass->output_rect; |
| 116 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); | 92 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); |
| 117 shared_state->SetAll(transform, | 93 shared_state->SetAll(transform, |
| 118 output_rect.size(), | 94 output_rect.size(), |
| 119 output_rect, | 95 output_rect, |
| 120 output_rect, | 96 output_rect, |
| 121 false, | 97 false, |
| 122 1, | 98 1, |
| 123 blend_mode, | 99 blend_mode, |
| 124 0); | 100 0); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1); | 160 memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1); |
| 185 std::unique_ptr<SingleReleaseCallbackImpl> callback = | 161 std::unique_ptr<SingleReleaseCallbackImpl> callback = |
| 186 SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback)); | 162 SingleReleaseCallbackImpl::Create(base::Bind(&EmptyReleaseCallback)); |
| 187 TextureMailbox mailbox(gpu_mailbox, kSyncTokenForMailboxTextureQuad, target); | 163 TextureMailbox mailbox(gpu_mailbox, kSyncTokenForMailboxTextureQuad, target); |
| 188 ResourceId resource8 = resource_provider->CreateResourceFromTextureMailbox( | 164 ResourceId resource8 = resource_provider->CreateResourceFromTextureMailbox( |
| 189 mailbox, std::move(callback)); | 165 mailbox, std::move(callback)); |
| 190 resource_provider->AllocateForTesting(resource8); | 166 resource_provider->AllocateForTesting(resource8); |
| 191 | 167 |
| 192 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); | 168 SharedQuadState* shared_state = to_pass->CreateAndAppendSharedQuadState(); |
| 193 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1, | 169 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1, |
| 194 SkXfermode::kSrcOver_Mode, 0); | 170 SkBlendMode::kSrcOver, 0); |
| 195 | 171 |
| 196 DebugBorderDrawQuad* debug_border_quad = | 172 DebugBorderDrawQuad* debug_border_quad = |
| 197 to_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); | 173 to_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); |
| 198 debug_border_quad->SetNew(shared_state, rect, visible_rect, SK_ColorRED, 1); | 174 debug_border_quad->SetNew(shared_state, rect, visible_rect, SK_ColorRED, 1); |
| 199 | 175 |
| 200 if (child_pass.layer_id) { | 176 if (child_pass.layer_id) { |
| 201 RenderPassDrawQuad* render_pass_quad = | 177 RenderPassDrawQuad* render_pass_quad = |
| 202 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 178 to_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| 203 render_pass_quad->SetNew( | 179 render_pass_quad->SetNew( |
| 204 shared_state, rect, visible_rect, child_pass, resource5, | 180 shared_state, rect, visible_rect, child_pass, resource5, |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 transformed_state->quad_to_target_transform = | 220 transformed_state->quad_to_target_transform = |
| 245 transformed_state->quad_to_target_transform * rotation; | 221 transformed_state->quad_to_target_transform * rotation; |
| 246 TileDrawQuad* transformed_tile_quad = | 222 TileDrawQuad* transformed_tile_quad = |
| 247 to_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); | 223 to_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); |
| 248 transformed_tile_quad->SetNew( | 224 transformed_tile_quad->SetNew( |
| 249 transformed_state, rect, opaque_rect, visible_rect, resource3, | 225 transformed_state, rect, opaque_rect, visible_rect, resource3, |
| 250 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false, false); | 226 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false, false); |
| 251 | 227 |
| 252 SharedQuadState* shared_state2 = to_pass->CreateAndAppendSharedQuadState(); | 228 SharedQuadState* shared_state2 = to_pass->CreateAndAppendSharedQuadState(); |
| 253 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1, | 229 shared_state->SetAll(gfx::Transform(), rect.size(), rect, rect, false, 1, |
| 254 SkXfermode::kSrcOver_Mode, 0); | 230 SkBlendMode::kSrcOver, 0); |
| 255 | 231 |
| 256 TileDrawQuad* tile_quad = to_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); | 232 TileDrawQuad* tile_quad = to_pass->CreateAndAppendDrawQuad<TileDrawQuad>(); |
| 257 tile_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect, resource4, | 233 tile_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect, resource4, |
| 258 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false, | 234 gfx::RectF(0, 0, 100, 100), gfx::Size(100, 100), false, |
| 259 false); | 235 false); |
| 260 | 236 |
| 261 ResourceId plane_resources[4]; | 237 ResourceId plane_resources[4]; |
| 262 for (int i = 0; i < 4; ++i) { | 238 for (int i = 0; i < 4; ++i) { |
| 263 plane_resources[i] = resource_provider->CreateResource( | 239 plane_resources[i] = resource_provider->CreateResource( |
| 264 gfx::Size(20, 12), ResourceProvider::TEXTURE_HINT_IMMUTABLE, | 240 gfx::Size(20, 12), ResourceProvider::TEXTURE_HINT_IMMUTABLE, |
| 265 resource_provider->best_texture_format(), gfx::ColorSpace()); | 241 resource_provider->best_texture_format(), gfx::ColorSpace()); |
| 266 resource_provider->AllocateForTesting(plane_resources[i]); | 242 resource_provider->AllocateForTesting(plane_resources[i]); |
| 267 } | 243 } |
| 268 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::REC_601; | 244 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::REC_601; |
| 269 | 245 |
| 270 YUVVideoDrawQuad* yuv_quad = | 246 YUVVideoDrawQuad* yuv_quad = |
| 271 to_pass->CreateAndAppendDrawQuad<YUVVideoDrawQuad>(); | 247 to_pass->CreateAndAppendDrawQuad<YUVVideoDrawQuad>(); |
| 272 yuv_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect, | 248 yuv_quad->SetNew(shared_state2, rect, opaque_rect, visible_rect, |
| 273 gfx::RectF(.0f, .0f, 100.0f, 100.0f), | 249 gfx::RectF(.0f, .0f, 100.0f, 100.0f), |
| 274 gfx::RectF(.0f, .0f, 50.0f, 50.0f), gfx::Size(100, 100), | 250 gfx::RectF(.0f, .0f, 50.0f, 50.0f), gfx::Size(100, 100), |
| 275 gfx::Size(50, 50), plane_resources[0], plane_resources[1], | 251 gfx::Size(50, 50), plane_resources[0], plane_resources[1], |
| 276 plane_resources[2], plane_resources[3], color_space, | 252 plane_resources[2], plane_resources[3], color_space, |
| 277 gfx::ColorSpace::CreateJpeg(), 0.0, 1.0, 8); | 253 gfx::ColorSpace::CreateJpeg(), 0.0, 1.0, 8); |
| 278 } | 254 } |
| 279 | 255 |
| 280 } // namespace cc | 256 } // namespace cc |
| OLD | NEW |