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

Side by Side Diff: cc/resource_provider_unittest.cc

Issue 11366123: Uber Comp: never change mailbox name associated with a texture object. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 1 month 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 "config.h" 5 #include "config.h"
6 6
7 #include "cc/resource_provider.h" 7 #include "cc/resource_provider.h"
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "cc/graphics_context.h" 10 #include "cc/graphics_context.h"
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 TransferableResourceList list; 446 TransferableResourceList list;
447 childResourceProvider->prepareSendToParent(resourceIdsToTransfer, &list) ; 447 childResourceProvider->prepareSendToParent(resourceIdsToTransfer, &list) ;
448 EXPECT_NE(0u, list.sync_point); 448 EXPECT_NE(0u, list.sync_point);
449 EXPECT_EQ(2u, list.resources.size()); 449 EXPECT_EQ(2u, list.resources.size());
450 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id1)); 450 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id1));
451 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id2)); 451 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id2));
452 m_resourceProvider->receiveFromChild(childId, list); 452 m_resourceProvider->receiveFromChild(childId, list);
453 } 453 }
454 454
455 EXPECT_EQ(2u, m_resourceProvider->numResources()); 455 EXPECT_EQ(2u, m_resourceProvider->numResources());
456 EXPECT_EQ(2u, m_resourceProvider->mailboxCount());
457 ResourceProvider::ResourceIdMap resourceMap = m_resourceProvider->getChildTo ParentMap(childId); 456 ResourceProvider::ResourceIdMap resourceMap = m_resourceProvider->getChildTo ParentMap(childId);
458 ResourceProvider::ResourceId mappedId1 = resourceMap[id1]; 457 ResourceProvider::ResourceId mappedId1 = resourceMap[id1];
459 ResourceProvider::ResourceId mappedId2 = resourceMap[id2]; 458 ResourceProvider::ResourceId mappedId2 = resourceMap[id2];
460 EXPECT_NE(0u, mappedId1); 459 EXPECT_NE(0u, mappedId1);
461 EXPECT_NE(0u, mappedId2); 460 EXPECT_NE(0u, mappedId2);
462 EXPECT_FALSE(m_resourceProvider->inUseByConsumer(id1)); 461 EXPECT_FALSE(m_resourceProvider->inUseByConsumer(id1));
463 EXPECT_FALSE(m_resourceProvider->inUseByConsumer(id2)); 462 EXPECT_FALSE(m_resourceProvider->inUseByConsumer(id2));
464 463
465 uint8_t result[4] = {0}; 464 uint8_t result[4] = {0};
466 getResourcePixels(mappedId1, size, format, result); 465 getResourcePixels(mappedId1, size, format, result);
(...skipping 17 matching lines...) Expand all
484 // Transfer resources back from the parent to the child. 483 // Transfer resources back from the parent to the child.
485 ResourceProvider::ResourceIdArray resourceIdsToTransfer; 484 ResourceProvider::ResourceIdArray resourceIdsToTransfer;
486 resourceIdsToTransfer.push_back(mappedId1); 485 resourceIdsToTransfer.push_back(mappedId1);
487 resourceIdsToTransfer.push_back(mappedId2); 486 resourceIdsToTransfer.push_back(mappedId2);
488 TransferableResourceList list; 487 TransferableResourceList list;
489 m_resourceProvider->prepareSendToChild(childId, resourceIdsToTransfer, & list); 488 m_resourceProvider->prepareSendToChild(childId, resourceIdsToTransfer, & list);
490 EXPECT_NE(0u, list.sync_point); 489 EXPECT_NE(0u, list.sync_point);
491 EXPECT_EQ(2u, list.resources.size()); 490 EXPECT_EQ(2u, list.resources.size());
492 childResourceProvider->receiveFromParent(list); 491 childResourceProvider->receiveFromParent(list);
493 } 492 }
494 EXPECT_EQ(0u, m_resourceProvider->mailboxCount());
495 EXPECT_EQ(2u, childResourceProvider->mailboxCount());
496 EXPECT_FALSE(childResourceProvider->inUseByConsumer(id1)); 493 EXPECT_FALSE(childResourceProvider->inUseByConsumer(id1));
497 EXPECT_FALSE(childResourceProvider->inUseByConsumer(id2)); 494 EXPECT_FALSE(childResourceProvider->inUseByConsumer(id2));
498 495
499 ResourceProviderContext* childContext3D = static_cast<ResourceProviderContex t*>(childContext->context3D()); 496 ResourceProviderContext* childContext3D = static_cast<ResourceProviderContex t*>(childContext->context3D());
500 { 497 {
501 ResourceProvider::ScopedReadLockGL lock(childResourceProvider.get(), id1 ); 498 ResourceProvider::ScopedReadLockGL lock(childResourceProvider.get(), id1 );
502 ASSERT_NE(0U, lock.textureId()); 499 ASSERT_NE(0U, lock.textureId());
503 childContext3D->bindTexture(GL_TEXTURE_2D, lock.textureId()); 500 childContext3D->bindTexture(GL_TEXTURE_2D, lock.textureId());
504 childContext3D->getPixels(size, format, result); 501 childContext3D->getPixels(size, format, result);
505 EXPECT_EQ(0, memcmp(data1, result, pixelSize)); 502 EXPECT_EQ(0, memcmp(data1, result, pixelSize));
(...skipping 16 matching lines...) Expand all
522 EXPECT_NE(0u, list.sync_point); 519 EXPECT_NE(0u, list.sync_point);
523 EXPECT_EQ(2u, list.resources.size()); 520 EXPECT_EQ(2u, list.resources.size());
524 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id1)); 521 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id1));
525 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id2)); 522 EXPECT_TRUE(childResourceProvider->inUseByConsumer(id2));
526 m_resourceProvider->receiveFromChild(childId, list); 523 m_resourceProvider->receiveFromChild(childId, list);
527 } 524 }
528 525
529 EXPECT_EQ(2u, m_resourceProvider->numResources()); 526 EXPECT_EQ(2u, m_resourceProvider->numResources());
530 m_resourceProvider->destroyChild(childId); 527 m_resourceProvider->destroyChild(childId);
531 EXPECT_EQ(0u, m_resourceProvider->numResources()); 528 EXPECT_EQ(0u, m_resourceProvider->numResources());
532 EXPECT_EQ(0u, m_resourceProvider->mailboxCount());
533 } 529 }
534 530
535 TEST_P(ResourceProviderTest, DeleteTransferredResources) 531 TEST_P(ResourceProviderTest, DeleteTransferredResources)
536 { 532 {
537 // Resource transfer is only supported with GL textures for now. 533 // Resource transfer is only supported with GL textures for now.
538 if (GetParam() != ResourceProvider::GLTexture) 534 if (GetParam() != ResourceProvider::GLTexture)
539 return; 535 return;
540 536
541 scoped_ptr<GraphicsContext> childContext(FakeWebCompositorOutputSurface::cre ate(ResourceProviderContext::create(m_sharedData.get()).PassAs<WebKit::WebGraphi csContext3D>())); 537 scoped_ptr<GraphicsContext> childContext(FakeWebCompositorOutputSurface::cre ate(ResourceProviderContext::create(m_sharedData.get()).PassAs<WebKit::WebGraphi csContext3D>()));
542 scoped_ptr<ResourceProvider> childResourceProvider(ResourceProvider::create( childContext.get())); 538 scoped_ptr<ResourceProvider> childResourceProvider(ResourceProvider::create( childContext.get()));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 } 582 }
587 EXPECT_EQ(0u, childResourceProvider->numResources()); 583 EXPECT_EQ(0u, childResourceProvider->numResources());
588 } 584 }
589 585
590 INSTANTIATE_TEST_CASE_P(ResourceProviderTests, 586 INSTANTIATE_TEST_CASE_P(ResourceProviderTests,
591 ResourceProviderTest, 587 ResourceProviderTest,
592 ::testing::Values(ResourceProvider::GLTexture, 588 ::testing::Values(ResourceProvider::GLTexture,
593 ResourceProvider::Bitmap)); 589 ResourceProvider::Bitmap));
594 590
595 } // anonymous namespace 591 } // anonymous namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698