| 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_common.h" | 5 #include "cc/test/render_pass_test_common.h" |
| 6 | 6 |
| 7 #include "cc/quads/checkerboard_draw_quad.h" | 7 #include "cc/quads/checkerboard_draw_quad.h" |
| 8 #include "cc/quads/debug_border_draw_quad.h" | 8 #include "cc/quads/debug_border_draw_quad.h" |
| 9 #include "cc/quads/io_surface_draw_quad.h" | 9 #include "cc/quads/io_surface_draw_quad.h" |
| 10 #include "cc/quads/render_pass_draw_quad.h" | 10 #include "cc/quads/render_pass_draw_quad.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 void TestRenderPass::AppendQuad(scoped_ptr<cc::DrawQuad> quad) { | 22 void TestRenderPass::AppendQuad(scoped_ptr<cc::DrawQuad> quad) { |
| 23 quad_list.push_back(quad.Pass()); | 23 quad_list.push_back(quad.Pass()); |
| 24 } | 24 } |
| 25 | 25 |
| 26 void TestRenderPass::AppendSharedQuadState( | 26 void TestRenderPass::AppendSharedQuadState( |
| 27 scoped_ptr<cc::SharedQuadState> state) { | 27 scoped_ptr<cc::SharedQuadState> state) { |
| 28 shared_quad_state_list.push_back(state.Pass()); | 28 shared_quad_state_list.push_back(state.Pass()); |
| 29 } | 29 } |
| 30 | 30 |
| 31 void TestRenderPass::AppendOneOfEveryQuadType( | 31 void TestRenderPass::AppendOneOfEveryQuadType( |
| 32 cc::ResourceProvider* resourceProvider, RenderPass::Id child_pass) { | 32 cc::ResourceProvider* resource_provider, RenderPass::Id child_pass) { |
| 33 gfx::Rect rect(0, 0, 100, 100); | 33 gfx::Rect rect(0, 0, 100, 100); |
| 34 gfx::Rect opaque_rect(10, 10, 80, 80); | 34 gfx::Rect opaque_rect(10, 10, 80, 80); |
| 35 const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; | 35 const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; |
| 36 cc::ResourceProvider::ResourceId texture_resource = | 36 cc::ResourceProvider::ResourceId texture_resource = |
| 37 resourceProvider->CreateResource( | 37 resource_provider->CreateResource( |
| 38 gfx::Size(20, 12), | 38 gfx::Size(20, 12), |
| 39 resourceProvider->best_texture_format(), | 39 resource_provider->best_texture_format(), |
| 40 ResourceProvider::TextureUsageAny); | 40 ResourceProvider::TextureUsageAny); |
| 41 resourceProvider->AllocateForTesting(texture_resource); | 41 resource_provider->AllocateForTesting(texture_resource); |
| 42 unsigned texture_id = ResourceProvider::ScopedReadLockGL( | 42 unsigned texture_id = ResourceProvider::ScopedReadLockGL( |
| 43 resourceProvider, texture_resource).texture_id(); | 43 resource_provider, texture_resource).texture_id(); |
| 44 cc::ResourceProvider::ResourceId resource1 = | 44 cc::ResourceProvider::ResourceId resource1 = |
| 45 resourceProvider->CreateResource( | 45 resource_provider->CreateResource( |
| 46 gfx::Size(45, 5), | 46 gfx::Size(45, 5), |
| 47 resourceProvider->best_texture_format(), | 47 resource_provider->best_texture_format(), |
| 48 ResourceProvider::TextureUsageAny); | 48 ResourceProvider::TextureUsageAny); |
| 49 resourceProvider->AllocateForTesting(resource1); | 49 resource_provider->AllocateForTesting(resource1); |
| 50 cc::ResourceProvider::ResourceId resource2 = | 50 cc::ResourceProvider::ResourceId resource2 = |
| 51 resourceProvider->CreateResource( | 51 resource_provider->CreateResource( |
| 52 gfx::Size(346, 61), | 52 gfx::Size(346, 61), |
| 53 resourceProvider->best_texture_format(), | 53 resource_provider->best_texture_format(), |
| 54 ResourceProvider::TextureUsageAny); | 54 ResourceProvider::TextureUsageAny); |
| 55 resourceProvider->AllocateForTesting(resource2); | 55 resource_provider->AllocateForTesting(resource2); |
| 56 cc::ResourceProvider::ResourceId resource3 = | 56 cc::ResourceProvider::ResourceId resource3 = |
| 57 resourceProvider->CreateResource( | 57 resource_provider->CreateResource( |
| 58 gfx::Size(12, 134), | 58 gfx::Size(12, 134), |
| 59 resourceProvider->best_texture_format(), | 59 resource_provider->best_texture_format(), |
| 60 ResourceProvider::TextureUsageAny); | 60 ResourceProvider::TextureUsageAny); |
| 61 resourceProvider->AllocateForTesting(resource3); | 61 resource_provider->AllocateForTesting(resource3); |
| 62 cc::ResourceProvider::ResourceId resource4 = | 62 cc::ResourceProvider::ResourceId resource4 = |
| 63 resourceProvider->CreateResource( | 63 resource_provider->CreateResource( |
| 64 gfx::Size(56, 12), | 64 gfx::Size(56, 12), |
| 65 resourceProvider->best_texture_format(), | 65 resource_provider->best_texture_format(), |
| 66 ResourceProvider::TextureUsageAny); | 66 ResourceProvider::TextureUsageAny); |
| 67 resourceProvider->AllocateForTesting(resource4); | 67 resource_provider->AllocateForTesting(resource4); |
| 68 cc::ResourceProvider::ResourceId resource5 = | 68 cc::ResourceProvider::ResourceId resource5 = |
| 69 resourceProvider->CreateResource( | 69 resource_provider->CreateResource( |
| 70 gfx::Size(73, 26), | 70 gfx::Size(73, 26), |
| 71 resourceProvider->best_texture_format(), | 71 resource_provider->best_texture_format(), |
| 72 ResourceProvider::TextureUsageAny); | 72 ResourceProvider::TextureUsageAny); |
| 73 resourceProvider->AllocateForTesting(resource5); | 73 resource_provider->AllocateForTesting(resource5); |
| 74 | 74 |
| 75 scoped_ptr<cc::SharedQuadState> shared_state = cc::SharedQuadState::Create(); | 75 scoped_ptr<cc::SharedQuadState> shared_state = cc::SharedQuadState::Create(); |
| 76 shared_state->SetAll(gfx::Transform(), | 76 shared_state->SetAll(gfx::Transform(), |
| 77 rect.size(), | 77 rect.size(), |
| 78 rect, | 78 rect, |
| 79 rect, | 79 rect, |
| 80 false, | 80 false, |
| 81 1); | 81 1); |
| 82 | 82 |
| 83 scoped_ptr<cc::CheckerboardDrawQuad> checkerboard_quad = | 83 scoped_ptr<cc::CheckerboardDrawQuad> checkerboard_quad = |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 opaque_rect, | 171 opaque_rect, |
| 172 resource2, | 172 resource2, |
| 173 gfx::RectF(0, 0, 50, 50), | 173 gfx::RectF(0, 0, 50, 50), |
| 174 gfx::Size(50, 50), | 174 gfx::Size(50, 50), |
| 175 false); | 175 false); |
| 176 AppendQuad(scaled_tile_quad.PassAs<DrawQuad>()); | 176 AppendQuad(scaled_tile_quad.PassAs<DrawQuad>()); |
| 177 | 177 |
| 178 scoped_ptr<cc::SharedQuadState> transformed_state = shared_state->Copy(); | 178 scoped_ptr<cc::SharedQuadState> transformed_state = shared_state->Copy(); |
| 179 gfx::Transform rotation; | 179 gfx::Transform rotation; |
| 180 rotation.Rotate(45); | 180 rotation.Rotate(45); |
| 181 transformed_state->content_to_target_transform = transformed_state->content_to
_target_transform * rotation; | 181 transformed_state->content_to_target_transform = |
| 182 transformed_state->content_to_target_transform * rotation; |
| 182 scoped_ptr<cc::TileDrawQuad> transformed_tile_quad = | 183 scoped_ptr<cc::TileDrawQuad> transformed_tile_quad = |
| 183 cc::TileDrawQuad::Create(); | 184 cc::TileDrawQuad::Create(); |
| 184 transformed_tile_quad->SetNew(transformed_state.get(), | 185 transformed_tile_quad->SetNew(transformed_state.get(), |
| 185 rect, | 186 rect, |
| 186 opaque_rect, | 187 opaque_rect, |
| 187 resource3, | 188 resource3, |
| 188 gfx::RectF(0, 0, 100, 100), | 189 gfx::RectF(0, 0, 100, 100), |
| 189 gfx::Size(100, 100), | 190 gfx::Size(100, 100), |
| 190 false); | 191 false); |
| 191 AppendQuad(transformed_tile_quad.PassAs<DrawQuad>()); | 192 AppendQuad(transformed_tile_quad.PassAs<DrawQuad>()); |
| 192 | 193 |
| 193 scoped_ptr<cc::TileDrawQuad> tile_quad = | 194 scoped_ptr<cc::TileDrawQuad> tile_quad = |
| 194 cc::TileDrawQuad::Create(); | 195 cc::TileDrawQuad::Create(); |
| 195 tile_quad->SetNew(shared_state.get(), | 196 tile_quad->SetNew(shared_state.get(), |
| 196 rect, | 197 rect, |
| 197 opaque_rect, | 198 opaque_rect, |
| 198 resource4, | 199 resource4, |
| 199 gfx::RectF(0, 0, 100, 100), | 200 gfx::RectF(0, 0, 100, 100), |
| 200 gfx::Size(100, 100), | 201 gfx::Size(100, 100), |
| 201 false); | 202 false); |
| 202 AppendQuad(tile_quad.PassAs<DrawQuad>()); | 203 AppendQuad(tile_quad.PassAs<DrawQuad>()); |
| 203 | 204 |
| 204 cc::VideoLayerImpl::FramePlane planes[3]; | 205 cc::VideoLayerImpl::FramePlane planes[3]; |
| 205 for (int i = 0; i < 3; ++i) { | 206 for (int i = 0; i < 3; ++i) { |
| 206 planes[i].resource_id = | 207 planes[i].resource_id = |
| 207 resourceProvider->CreateResource( | 208 resource_provider->CreateResource( |
| 208 gfx::Size(20, 12), | 209 gfx::Size(20, 12), |
| 209 resourceProvider->best_texture_format(), | 210 resource_provider->best_texture_format(), |
| 210 ResourceProvider::TextureUsageAny); | 211 ResourceProvider::TextureUsageAny); |
| 211 resourceProvider->AllocateForTesting(planes[i].resource_id); | 212 resource_provider->AllocateForTesting(planes[i].resource_id); |
| 212 planes[i].size = gfx::Size(100, 100); | 213 planes[i].size = gfx::Size(100, 100); |
| 213 planes[i].format = GL_LUMINANCE; | 214 planes[i].format = GL_LUMINANCE; |
| 214 } | 215 } |
| 215 scoped_ptr<cc::YUVVideoDrawQuad> yuv_quad = | 216 scoped_ptr<cc::YUVVideoDrawQuad> yuv_quad = |
| 216 cc::YUVVideoDrawQuad::Create(); | 217 cc::YUVVideoDrawQuad::Create(); |
| 217 yuv_quad->SetNew(shared_state.get(), | 218 yuv_quad->SetNew(shared_state.get(), |
| 218 rect, | 219 rect, |
| 219 opaque_rect, | 220 opaque_rect, |
| 220 gfx::Size(100, 100), | 221 gfx::Size(100, 100), |
| 221 planes[0], | 222 planes[0], |
| 222 planes[1], | 223 planes[1], |
| 223 planes[2]); | 224 planes[2]); |
| 224 AppendQuad(yuv_quad.PassAs<DrawQuad>()); | 225 AppendQuad(yuv_quad.PassAs<DrawQuad>()); |
| 225 | 226 |
| 226 AppendSharedQuadState(transformed_state.Pass()); | 227 AppendSharedQuadState(transformed_state.Pass()); |
| 227 AppendSharedQuadState(shared_state.Pass()); | 228 AppendSharedQuadState(shared_state.Pass()); |
| 228 } | 229 } |
| 229 | 230 |
| 230 } // namespace cc | 231 } // namespace cc |
| OLD | NEW |