| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/synchronization/lock.h" | 10 #include "base/synchronization/lock.h" |
| 11 #include "cc/animation/timing_function.h" | 11 #include "cc/animation/timing_function.h" |
| 12 #include "cc/debug/frame_rate_counter.h" | 12 #include "cc/debug/frame_rate_counter.h" |
| 13 #include "cc/debug/test_web_graphics_context_3d.h" |
| 13 #include "cc/layers/content_layer.h" | 14 #include "cc/layers/content_layer.h" |
| 14 #include "cc/layers/content_layer_client.h" | 15 #include "cc/layers/content_layer_client.h" |
| 15 #include "cc/layers/io_surface_layer.h" | 16 #include "cc/layers/io_surface_layer.h" |
| 16 #include "cc/layers/layer_impl.h" | 17 #include "cc/layers/layer_impl.h" |
| 17 #include "cc/layers/picture_layer.h" | 18 #include "cc/layers/picture_layer.h" |
| 18 #include "cc/layers/scrollbar_layer.h" | 19 #include "cc/layers/scrollbar_layer.h" |
| 19 #include "cc/layers/solid_color_layer.h" | 20 #include "cc/layers/solid_color_layer.h" |
| 20 #include "cc/layers/video_layer.h" | 21 #include "cc/layers/video_layer.h" |
| 21 #include "cc/output/begin_frame_args.h" | 22 #include "cc/output/begin_frame_args.h" |
| 22 #include "cc/output/copy_output_request.h" | 23 #include "cc/output/copy_output_request.h" |
| (...skipping 1116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1139 | 1140 |
| 1140 virtual void BeginTest() OVERRIDE { | 1141 virtual void BeginTest() OVERRIDE { |
| 1141 drew_frame_ = -1; | 1142 drew_frame_ = -1; |
| 1142 PostSetNeedsCommitToMainThread(); | 1143 PostSetNeedsCommitToMainThread(); |
| 1143 } | 1144 } |
| 1144 | 1145 |
| 1145 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* impl) OVERRIDE { | 1146 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* impl) OVERRIDE { |
| 1146 ASSERT_EQ(0u, layer_tree_host()->settings().max_partial_texture_updates); | 1147 ASSERT_EQ(0u, layer_tree_host()->settings().max_partial_texture_updates); |
| 1147 | 1148 |
| 1148 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( | 1149 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( |
| 1149 impl->output_surface()->context3d()); | 1150 impl->output_surface()->context_provider()->Context3d()); |
| 1150 | 1151 |
| 1151 switch (impl->active_tree()->source_frame_number()) { | 1152 switch (impl->active_tree()->source_frame_number()) { |
| 1152 case 0: | 1153 case 0: |
| 1153 // Number of textures should be one for each layer | 1154 // Number of textures should be one for each layer |
| 1154 ASSERT_EQ(2u, context->NumTextures()); | 1155 ASSERT_EQ(2u, context->NumTextures()); |
| 1155 // Number of textures used for commit should be one for each layer. | 1156 // Number of textures used for commit should be one for each layer. |
| 1156 EXPECT_EQ(2u, context->NumUsedTextures()); | 1157 EXPECT_EQ(2u, context->NumUsedTextures()); |
| 1157 // Verify that used texture is correct. | 1158 // Verify that used texture is correct. |
| 1158 EXPECT_TRUE(context->UsedTexture(context->TextureAt(0))); | 1159 EXPECT_TRUE(context->UsedTexture(context->TextureAt(0))); |
| 1159 EXPECT_TRUE(context->UsedTexture(context->TextureAt(1))); | 1160 EXPECT_TRUE(context->UsedTexture(context->TextureAt(1))); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1182 EndTest(); | 1183 EndTest(); |
| 1183 break; | 1184 break; |
| 1184 default: | 1185 default: |
| 1185 NOTREACHED(); | 1186 NOTREACHED(); |
| 1186 break; | 1187 break; |
| 1187 } | 1188 } |
| 1188 } | 1189 } |
| 1189 | 1190 |
| 1190 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { | 1191 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { |
| 1191 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( | 1192 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( |
| 1192 impl->output_surface()->context3d()); | 1193 impl->output_surface()->context_provider()->Context3d()); |
| 1193 | 1194 |
| 1194 if (drew_frame_ == impl->active_tree()->source_frame_number()) { | 1195 if (drew_frame_ == impl->active_tree()->source_frame_number()) { |
| 1195 EXPECT_EQ(0u, context->NumUsedTextures()) << "For frame " << drew_frame_; | 1196 EXPECT_EQ(0u, context->NumUsedTextures()) << "For frame " << drew_frame_; |
| 1196 return; | 1197 return; |
| 1197 } | 1198 } |
| 1198 drew_frame_ = impl->active_tree()->source_frame_number(); | 1199 drew_frame_ = impl->active_tree()->source_frame_number(); |
| 1199 | 1200 |
| 1200 // We draw/ship one texture each frame for each layer. | 1201 // We draw/ship one texture each frame for each layer. |
| 1201 EXPECT_EQ(2u, context->NumUsedTextures()); | 1202 EXPECT_EQ(2u, context->NumUsedTextures()); |
| 1202 context->ResetUsedTextures(); | 1203 context->ResetUsedTextures(); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1287 default: | 1288 default: |
| 1288 NOTREACHED() << layer_tree_host()->source_frame_number(); | 1289 NOTREACHED() << layer_tree_host()->source_frame_number(); |
| 1289 break; | 1290 break; |
| 1290 } | 1291 } |
| 1291 } | 1292 } |
| 1292 | 1293 |
| 1293 virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE { | 1294 virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE { |
| 1294 ASSERT_EQ(1u, layer_tree_host()->settings().max_partial_texture_updates); | 1295 ASSERT_EQ(1u, layer_tree_host()->settings().max_partial_texture_updates); |
| 1295 | 1296 |
| 1296 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( | 1297 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( |
| 1297 impl->output_surface()->context3d()); | 1298 impl->output_surface()->context_provider()->Context3d()); |
| 1298 | 1299 |
| 1299 switch (impl->active_tree()->source_frame_number()) { | 1300 switch (impl->active_tree()->source_frame_number()) { |
| 1300 case 0: | 1301 case 0: |
| 1301 // Number of textures should be one for each layer. | 1302 // Number of textures should be one for each layer. |
| 1302 ASSERT_EQ(2u, context->NumTextures()); | 1303 ASSERT_EQ(2u, context->NumTextures()); |
| 1303 // Number of textures used for commit should be one for each layer. | 1304 // Number of textures used for commit should be one for each layer. |
| 1304 EXPECT_EQ(2u, context->NumUsedTextures()); | 1305 EXPECT_EQ(2u, context->NumUsedTextures()); |
| 1305 // Verify that used textures are correct. | 1306 // Verify that used textures are correct. |
| 1306 EXPECT_TRUE(context->UsedTexture(context->TextureAt(0))); | 1307 EXPECT_TRUE(context->UsedTexture(context->TextureAt(0))); |
| 1307 EXPECT_TRUE(context->UsedTexture(context->TextureAt(1))); | 1308 EXPECT_TRUE(context->UsedTexture(context->TextureAt(1))); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1352 default: | 1353 default: |
| 1353 NOTREACHED(); | 1354 NOTREACHED(); |
| 1354 break; | 1355 break; |
| 1355 } | 1356 } |
| 1356 } | 1357 } |
| 1357 | 1358 |
| 1358 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { | 1359 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { |
| 1359 EXPECT_LT(impl->active_tree()->source_frame_number(), 5); | 1360 EXPECT_LT(impl->active_tree()->source_frame_number(), 5); |
| 1360 | 1361 |
| 1361 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( | 1362 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( |
| 1362 impl->output_surface()->context3d()); | 1363 impl->output_surface()->context_provider()->Context3d()); |
| 1363 | 1364 |
| 1364 // Number of textures used for drawing should one per layer except for | 1365 // Number of textures used for drawing should one per layer except for |
| 1365 // frame 3 where the viewport only contains one layer. | 1366 // frame 3 where the viewport only contains one layer. |
| 1366 if (impl->active_tree()->source_frame_number() == 3) { | 1367 if (impl->active_tree()->source_frame_number() == 3) { |
| 1367 EXPECT_EQ(1u, context->NumUsedTextures()); | 1368 EXPECT_EQ(1u, context->NumUsedTextures()); |
| 1368 } else { | 1369 } else { |
| 1369 EXPECT_EQ(2u, context->NumUsedTextures()) << | 1370 EXPECT_EQ(2u, context->NumUsedTextures()) << |
| 1370 "For frame " << impl->active_tree()->source_frame_number(); | 1371 "For frame " << impl->active_tree()->source_frame_number(); |
| 1371 } | 1372 } |
| 1372 | 1373 |
| (...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2310 } | 2311 } |
| 2311 } | 2312 } |
| 2312 | 2313 |
| 2313 private: | 2314 private: |
| 2314 SetBoundsClient client_; | 2315 SetBoundsClient client_; |
| 2315 int num_commits_; | 2316 int num_commits_; |
| 2316 }; | 2317 }; |
| 2317 | 2318 |
| 2318 SINGLE_THREAD_TEST_F(LayerTreeHostTestChangeLayerPropertiesInPaintContents); | 2319 SINGLE_THREAD_TEST_F(LayerTreeHostTestChangeLayerPropertiesInPaintContents); |
| 2319 | 2320 |
| 2320 class MockIOSurfaceWebGraphicsContext3D : public FakeWebGraphicsContext3D { | 2321 class MockIOSurfaceWebGraphicsContext3D : public TestWebGraphicsContext3D { |
| 2321 public: | 2322 public: |
| 2322 MockIOSurfaceWebGraphicsContext3D() | |
| 2323 : FakeWebGraphicsContext3D() {} | |
| 2324 | |
| 2325 virtual WebKit::WebGLId createTexture() OVERRIDE { | 2323 virtual WebKit::WebGLId createTexture() OVERRIDE { |
| 2326 return 1; | 2324 return 1; |
| 2327 } | 2325 } |
| 2328 | 2326 |
| 2329 virtual WebKit::WebString getString(WebKit::WGC3Denum name) OVERRIDE { | |
| 2330 if (name == GL_EXTENSIONS) { | |
| 2331 return WebKit::WebString( | |
| 2332 "GL_CHROMIUM_iosurface GL_ARB_texture_rectangle"); | |
| 2333 } | |
| 2334 return WebKit::WebString(); | |
| 2335 } | |
| 2336 | |
| 2337 MOCK_METHOD1(activeTexture, void(WebKit::WGC3Denum texture)); | 2327 MOCK_METHOD1(activeTexture, void(WebKit::WGC3Denum texture)); |
| 2338 MOCK_METHOD2(bindTexture, void(WebKit::WGC3Denum target, | 2328 MOCK_METHOD2(bindTexture, void(WebKit::WGC3Denum target, |
| 2339 WebKit::WebGLId texture_id)); | 2329 WebKit::WebGLId texture_id)); |
| 2340 MOCK_METHOD3(texParameteri, void(WebKit::WGC3Denum target, | 2330 MOCK_METHOD3(texParameteri, void(WebKit::WGC3Denum target, |
| 2341 WebKit::WGC3Denum pname, | 2331 WebKit::WGC3Denum pname, |
| 2342 WebKit::WGC3Dint param)); | 2332 WebKit::WGC3Dint param)); |
| 2343 MOCK_METHOD5(texImageIOSurface2DCHROMIUM, void(WebKit::WGC3Denum target, | 2333 MOCK_METHOD5(texImageIOSurface2DCHROMIUM, void(WebKit::WGC3Denum target, |
| 2344 WebKit::WGC3Dint width, | 2334 WebKit::WGC3Dint width, |
| 2345 WebKit::WGC3Dint height, | 2335 WebKit::WGC3Dint height, |
| 2346 WebKit::WGC3Duint ioSurfaceId, | 2336 WebKit::WGC3Duint ioSurfaceId, |
| 2347 WebKit::WGC3Duint plane)); | 2337 WebKit::WGC3Duint plane)); |
| 2348 MOCK_METHOD4(drawElements, void(WebKit::WGC3Denum mode, | 2338 MOCK_METHOD4(drawElements, void(WebKit::WGC3Denum mode, |
| 2349 WebKit::WGC3Dsizei count, | 2339 WebKit::WGC3Dsizei count, |
| 2350 WebKit::WGC3Denum type, | 2340 WebKit::WGC3Denum type, |
| 2351 WebKit::WGC3Dintptr offset)); | 2341 WebKit::WGC3Dintptr offset)); |
| 2342 MOCK_METHOD1(deleteTexture, void(WebKit::WGC3Denum texture)); |
| 2352 }; | 2343 }; |
| 2353 | 2344 |
| 2354 | 2345 |
| 2355 class LayerTreeHostTestIOSurfaceDrawing : public LayerTreeHostTest { | 2346 class LayerTreeHostTestIOSurfaceDrawing : public LayerTreeHostTest { |
| 2356 protected: | 2347 protected: |
| 2357 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) | 2348 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) |
| 2358 OVERRIDE { | 2349 OVERRIDE { |
| 2359 scoped_ptr<MockIOSurfaceWebGraphicsContext3D> context( | 2350 scoped_ptr<MockIOSurfaceWebGraphicsContext3D> mock_context_owned( |
| 2360 new MockIOSurfaceWebGraphicsContext3D); | 2351 new MockIOSurfaceWebGraphicsContext3D); |
| 2361 mock_context_ = context.get(); | 2352 mock_context_ = mock_context_owned.get(); |
| 2362 scoped_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d( | 2353 |
| 2363 context.PassAs<WebKit::WebGraphicsContext3D>()).PassAs<OutputSurface>(); | 2354 mock_context_->set_have_extension_io_surface(true); |
| 2355 |
| 2356 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 2357 mock_context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 2364 return output_surface.Pass(); | 2358 return output_surface.Pass(); |
| 2365 } | 2359 } |
| 2366 | 2360 |
| 2367 virtual void SetupTree() OVERRIDE { | 2361 virtual void SetupTree() OVERRIDE { |
| 2368 LayerTreeHostTest::SetupTree(); | 2362 LayerTreeHostTest::SetupTree(); |
| 2369 | 2363 |
| 2370 layer_tree_host()->root_layer()->SetIsDrawable(false); | 2364 layer_tree_host()->root_layer()->SetIsDrawable(false); |
| 2371 | 2365 |
| 2372 io_surface_id_ = 9; | 2366 io_surface_id_ = 9; |
| 2373 io_surface_size_ = gfx::Size(6, 7); | 2367 io_surface_size_ = gfx::Size(6, 7); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2432 EXPECT_CALL(*mock_context_, bindTexture(GL_TEXTURE_RECTANGLE_ARB, 1)) | 2426 EXPECT_CALL(*mock_context_, bindTexture(GL_TEXTURE_RECTANGLE_ARB, 1)) |
| 2433 .Times(1); | 2427 .Times(1); |
| 2434 EXPECT_CALL(*mock_context_, drawElements(GL_TRIANGLES, 6, _, _)) | 2428 EXPECT_CALL(*mock_context_, drawElements(GL_TRIANGLES, 6, _, _)) |
| 2435 .Times(AtLeast(1)); | 2429 .Times(AtLeast(1)); |
| 2436 | 2430 |
| 2437 return result; | 2431 return result; |
| 2438 } | 2432 } |
| 2439 | 2433 |
| 2440 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { | 2434 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { |
| 2441 Mock::VerifyAndClearExpectations(&mock_context_); | 2435 Mock::VerifyAndClearExpectations(&mock_context_); |
| 2436 |
| 2437 EXPECT_CALL(*mock_context_, deleteTexture(1)).Times(1); |
| 2442 EndTest(); | 2438 EndTest(); |
| 2443 } | 2439 } |
| 2444 | 2440 |
| 2445 virtual void AfterTest() OVERRIDE {} | 2441 virtual void AfterTest() OVERRIDE {} |
| 2446 | 2442 |
| 2447 int io_surface_id_; | 2443 int io_surface_id_; |
| 2448 MockIOSurfaceWebGraphicsContext3D* mock_context_; | 2444 MockIOSurfaceWebGraphicsContext3D* mock_context_; |
| 2449 gfx::Size io_surface_size_; | 2445 gfx::Size io_surface_size_; |
| 2450 }; | 2446 }; |
| 2451 | 2447 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2535 gfx::Size(bitmap->width(), bitmap->height()).ToString()); | 2531 gfx::Size(bitmap->width(), bitmap->height()).ToString()); |
| 2536 callbacks_.push_back(result->size()); | 2532 callbacks_.push_back(result->size()); |
| 2537 } | 2533 } |
| 2538 | 2534 |
| 2539 virtual void AfterTest() OVERRIDE { | 2535 virtual void AfterTest() OVERRIDE { |
| 2540 EXPECT_EQ(4u, callbacks_.size()); | 2536 EXPECT_EQ(4u, callbacks_.size()); |
| 2541 } | 2537 } |
| 2542 | 2538 |
| 2543 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) | 2539 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) |
| 2544 OVERRIDE { | 2540 OVERRIDE { |
| 2545 if (use_gl_renderer_) | 2541 scoped_ptr<FakeOutputSurface> output_surface; |
| 2546 return FakeOutputSurface::Create3d().PassAs<OutputSurface>(); | 2542 if (use_gl_renderer_) { |
| 2547 return FakeOutputSurface::CreateSoftware( | 2543 output_surface = FakeOutputSurface::Create3d().Pass(); |
| 2548 make_scoped_ptr(new SoftwareOutputDevice)).PassAs<OutputSurface>(); | 2544 } else { |
| 2545 output_surface = FakeOutputSurface::CreateSoftware( |
| 2546 make_scoped_ptr(new SoftwareOutputDevice)).Pass(); |
| 2547 } |
| 2548 return output_surface.PassAs<OutputSurface>(); |
| 2549 } | 2549 } |
| 2550 | 2550 |
| 2551 bool use_gl_renderer_; | 2551 bool use_gl_renderer_; |
| 2552 std::vector<gfx::Size> callbacks_; | 2552 std::vector<gfx::Size> callbacks_; |
| 2553 FakeContentLayerClient client_; | 2553 FakeContentLayerClient client_; |
| 2554 scoped_refptr<FakeContentLayer> root; | 2554 scoped_refptr<FakeContentLayer> root; |
| 2555 scoped_refptr<FakeContentLayer> child; | 2555 scoped_refptr<FakeContentLayer> child; |
| 2556 }; | 2556 }; |
| 2557 | 2557 |
| 2558 // Readback can't be done with a delegating renderer. | 2558 // Readback can't be done with a delegating renderer. |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3123 base::Unretained(host_impl))); | 3123 base::Unretained(host_impl))); |
| 3124 } else if (did_initialize_gl_ && did_release_gl_) { | 3124 } else if (did_initialize_gl_ && did_release_gl_) { |
| 3125 EXPECT_LE(3u, layer_impl->append_quads_count()); | 3125 EXPECT_LE(3u, layer_impl->append_quads_count()); |
| 3126 EndTest(); | 3126 EndTest(); |
| 3127 } | 3127 } |
| 3128 } | 3128 } |
| 3129 | 3129 |
| 3130 void DeferredInitializeAndRedraw(LayerTreeHostImpl* host_impl) { | 3130 void DeferredInitializeAndRedraw(LayerTreeHostImpl* host_impl) { |
| 3131 EXPECT_FALSE(did_initialize_gl_); | 3131 EXPECT_FALSE(did_initialize_gl_); |
| 3132 // SetAndInitializeContext3D calls SetNeedsCommit. | 3132 // SetAndInitializeContext3D calls SetNeedsCommit. |
| 3133 EXPECT_TRUE(static_cast<FakeOutputSurface*>(host_impl->output_surface()) | 3133 FakeOutputSurface* fake_output_surface = |
| 3134 ->SetAndInitializeContext3D( | 3134 static_cast<FakeOutputSurface*>(host_impl->output_surface()); |
| 3135 scoped_ptr<WebKit::WebGraphicsContext3D>( | 3135 scoped_refptr<TestContextProvider> context_provider = |
| 3136 TestWebGraphicsContext3D::Create()))); | 3136 TestContextProvider::Create(); // Not bound to thread. |
| 3137 EXPECT_TRUE(fake_output_surface->InitializeAndSetContext3d( |
| 3138 context_provider, NULL)); |
| 3137 did_initialize_gl_ = true; | 3139 did_initialize_gl_ = true; |
| 3138 } | 3140 } |
| 3139 | 3141 |
| 3140 void ReleaseGLAndRedraw(LayerTreeHostImpl* host_impl) { | 3142 void ReleaseGLAndRedraw(LayerTreeHostImpl* host_impl) { |
| 3141 EXPECT_TRUE(did_initialize_gl_); | 3143 EXPECT_TRUE(did_initialize_gl_); |
| 3142 EXPECT_FALSE(did_release_gl_); | 3144 EXPECT_FALSE(did_release_gl_); |
| 3143 // ReleaseGL calls SetNeedsCommit. | 3145 // ReleaseGL calls SetNeedsCommit. |
| 3144 static_cast<FakeOutputSurface*>(host_impl->output_surface())->ReleaseGL(); | 3146 static_cast<FakeOutputSurface*>(host_impl->output_surface())->ReleaseGL(); |
| 3145 did_release_gl_ = true; | 3147 did_release_gl_ = true; |
| 3146 } | 3148 } |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3194 break; | 3196 break; |
| 3195 case 5: | 3197 case 5: |
| 3196 ClearResources(); | 3198 ClearResources(); |
| 3197 EndTest(); | 3199 EndTest(); |
| 3198 break; | 3200 break; |
| 3199 } | 3201 } |
| 3200 } | 3202 } |
| 3201 | 3203 |
| 3202 void PerformTest(LayerTreeHostImpl* impl) { | 3204 void PerformTest(LayerTreeHostImpl* impl) { |
| 3203 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( | 3205 TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>( |
| 3204 impl->output_surface()->context3d()); | 3206 impl->output_surface()->context_provider()->Context3d()); |
| 3205 | 3207 |
| 3206 int frame = num_commits_; | 3208 int frame = num_commits_; |
| 3207 switch (frame) { | 3209 switch (frame) { |
| 3208 case 1: | 3210 case 1: |
| 3209 ASSERT_EQ(0u, context->NumTextures()); | 3211 ASSERT_EQ(0u, context->NumTextures()); |
| 3210 break; | 3212 break; |
| 3211 case 2: | 3213 case 2: |
| 3212 // Created two textures. | 3214 // Created two textures. |
| 3213 ASSERT_EQ(2u, context->NumTextures()); | 3215 ASSERT_EQ(2u, context->NumTextures()); |
| 3214 break; | 3216 break; |
| (...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4291 int num_will_begin_frames_; | 4293 int num_will_begin_frames_; |
| 4292 int num_impl_commits_; | 4294 int num_impl_commits_; |
| 4293 }; | 4295 }; |
| 4294 | 4296 |
| 4295 // Commits can only be aborted when using the thread proxy. | 4297 // Commits can only be aborted when using the thread proxy. |
| 4296 MULTI_THREAD_TEST_F(LayerTreeHostTestAbortEvictedTextures); | 4298 MULTI_THREAD_TEST_F(LayerTreeHostTestAbortEvictedTextures); |
| 4297 | 4299 |
| 4298 } // namespace | 4300 } // namespace |
| 4299 | 4301 |
| 4300 } // namespace cc | 4302 } // namespace cc |
| OLD | NEW |