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

Side by Side Diff: cc/resources/resource_provider_unittest.cc

Issue 1139063002: cc: Partial tile update for one-copy raster. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: monocle: tilemanagerconsistency Created 5 years, 7 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
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/resources/resource_provider.h" 5 #include "cc/resources/resource_provider.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 10
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 ResourceId id2 = child_resource_provider_->CreateResource( 658 ResourceId id2 = child_resource_provider_->CreateResource(
659 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 659 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
660 uint8_t data2[4] = { 5, 5, 5, 5 }; 660 uint8_t data2[4] = { 5, 5, 5, 5 };
661 child_resource_provider_->CopyToResource(id2, data2, size); 661 child_resource_provider_->CopyToResource(id2, data2, size);
662 662
663 ResourceId id3 = child_resource_provider_->CreateResource( 663 ResourceId id3 = child_resource_provider_->CreateResource(
664 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 664 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
665 { 665 {
666 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock( 666 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock(
667 child_resource_provider_.get(), id3); 667 child_resource_provider_.get(), id3);
668 EXPECT_TRUE(lock.GetGpuMemoryBuffer()); 668 EXPECT_TRUE(lock.AllocateGpuMemoryBuffer(false));
669 } 669 }
670 670
671 GLuint external_texture_id = child_context_->createExternalTexture(); 671 GLuint external_texture_id = child_context_->createExternalTexture();
672 672
673 gpu::Mailbox external_mailbox; 673 gpu::Mailbox external_mailbox;
674 child_context_->genMailboxCHROMIUM(external_mailbox.name); 674 child_context_->genMailboxCHROMIUM(external_mailbox.name);
675 child_context_->produceTextureDirectCHROMIUM( 675 child_context_->produceTextureDirectCHROMIUM(
676 external_texture_id, GL_TEXTURE_EXTERNAL_OES, external_mailbox.name); 676 external_texture_id, GL_TEXTURE_EXTERNAL_OES, external_mailbox.name);
677 const GLuint external_sync_point = child_context_->insertSyncPoint(); 677 const GLuint external_sync_point = child_context_->insertSyncPoint();
678 ResourceId id4 = child_resource_provider_->CreateResourceFromTextureMailbox( 678 ResourceId id4 = child_resource_provider_->CreateResourceFromTextureMailbox(
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
913 uint8_t data1[4] = {1, 2, 3, 4}; 913 uint8_t data1[4] = {1, 2, 3, 4};
914 child_resource_provider_->CopyToResource(id1, data1, size); 914 child_resource_provider_->CopyToResource(id1, data1, size);
915 915
916 ResourceId id2 = child_resource_provider_->CreateResource( 916 ResourceId id2 = child_resource_provider_->CreateResource(
917 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 917 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
918 { 918 {
919 // Ensure locking the memory buffer doesn't create an unnecessary sync 919 // Ensure locking the memory buffer doesn't create an unnecessary sync
920 // point. 920 // point.
921 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock( 921 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock(
922 child_resource_provider_.get(), id2); 922 child_resource_provider_.get(), id2);
923 EXPECT_TRUE(lock.GetGpuMemoryBuffer()); 923 EXPECT_TRUE(lock.AllocateGpuMemoryBuffer(false));
924 } 924 }
925 925
926 GLuint external_texture_id = child_context_->createExternalTexture(); 926 GLuint external_texture_id = child_context_->createExternalTexture();
927 927
928 // A sync point is specified directly and should be used. 928 // A sync point is specified directly and should be used.
929 gpu::Mailbox external_mailbox; 929 gpu::Mailbox external_mailbox;
930 child_context_->genMailboxCHROMIUM(external_mailbox.name); 930 child_context_->genMailboxCHROMIUM(external_mailbox.name);
931 child_context_->produceTextureDirectCHROMIUM( 931 child_context_->produceTextureDirectCHROMIUM(
932 external_texture_id, GL_TEXTURE_EXTERNAL_OES, external_mailbox.name); 932 external_texture_id, GL_TEXTURE_EXTERNAL_OES, external_mailbox.name);
933 const GLuint external_sync_point = child_context_->insertSyncPoint(); 933 const GLuint external_sync_point = child_context_->insertSyncPoint();
(...skipping 2584 matching lines...) Expand 10 before | Expand all | Expand 10 after
3518 3518
3519 id = resource_provider->CreateResource( 3519 id = resource_provider->CreateResource(
3520 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3520 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3521 3521
3522 EXPECT_CALL(*context, createImageCHROMIUM(_, kWidth, kHeight, GL_RGBA)) 3522 EXPECT_CALL(*context, createImageCHROMIUM(_, kWidth, kHeight, GL_RGBA))
3523 .WillOnce(Return(kImageId)) 3523 .WillOnce(Return(kImageId))
3524 .RetiresOnSaturation(); 3524 .RetiresOnSaturation();
3525 { 3525 {
3526 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock( 3526 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock(
3527 resource_provider.get(), id); 3527 resource_provider.get(), id);
3528 EXPECT_TRUE(lock.GetGpuMemoryBuffer()); 3528 EXPECT_TRUE(lock.AllocateGpuMemoryBuffer(false));
3529 } 3529 }
3530 3530
3531 EXPECT_CALL(*context, NextTextureId()) 3531 EXPECT_CALL(*context, NextTextureId())
3532 .WillOnce(Return(kTextureId)) 3532 .WillOnce(Return(kTextureId))
3533 .RetiresOnSaturation(); 3533 .RetiresOnSaturation();
3534 // Once in CreateTextureId and once in BindForSampling 3534 // Once in CreateTextureId and once in BindForSampling
3535 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)).Times(2) 3535 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)).Times(2)
3536 .RetiresOnSaturation(); 3536 .RetiresOnSaturation();
3537 EXPECT_CALL(*context, bindTexImage2DCHROMIUM(GL_TEXTURE_2D, kImageId)) 3537 EXPECT_CALL(*context, bindTexImage2DCHROMIUM(GL_TEXTURE_2D, kImageId))
3538 .Times(1) 3538 .Times(1)
3539 .RetiresOnSaturation(); 3539 .RetiresOnSaturation();
3540 { 3540 {
3541 ResourceProvider::ScopedSamplerGL lock_gl( 3541 ResourceProvider::ScopedSamplerGL lock_gl(
3542 resource_provider.get(), id, GL_TEXTURE_2D, GL_LINEAR); 3542 resource_provider.get(), id, GL_TEXTURE_2D, GL_LINEAR);
3543 EXPECT_EQ(kTextureId, lock_gl.texture_id()); 3543 EXPECT_EQ(kTextureId, lock_gl.texture_id());
3544 } 3544 }
3545 3545
3546 { 3546 {
3547 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock( 3547 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock(
3548 resource_provider.get(), id); 3548 resource_provider.get(), id);
3549 EXPECT_TRUE(lock.GetGpuMemoryBuffer()); 3549 EXPECT_TRUE(lock.gpu_memory_buffer());
3550 } 3550 }
3551 3551
3552 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)).Times(1) 3552 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)).Times(1)
3553 .RetiresOnSaturation(); 3553 .RetiresOnSaturation();
3554 EXPECT_CALL(*context, releaseTexImage2DCHROMIUM(GL_TEXTURE_2D, kImageId)) 3554 EXPECT_CALL(*context, releaseTexImage2DCHROMIUM(GL_TEXTURE_2D, kImageId))
3555 .Times(1) 3555 .Times(1)
3556 .RetiresOnSaturation(); 3556 .RetiresOnSaturation();
3557 EXPECT_CALL(*context, bindTexImage2DCHROMIUM(GL_TEXTURE_2D, kImageId)) 3557 EXPECT_CALL(*context, bindTexImage2DCHROMIUM(GL_TEXTURE_2D, kImageId))
3558 .Times(1) 3558 .Times(1)
3559 .RetiresOnSaturation(); 3559 .RetiresOnSaturation();
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
3605 3605
3606 source_id = resource_provider->CreateResource( 3606 source_id = resource_provider->CreateResource(
3607 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3607 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3608 3608
3609 EXPECT_CALL(*context, createImageCHROMIUM(_, kWidth, kHeight, GL_RGBA)) 3609 EXPECT_CALL(*context, createImageCHROMIUM(_, kWidth, kHeight, GL_RGBA))
3610 .WillOnce(Return(kImageId)) 3610 .WillOnce(Return(kImageId))
3611 .RetiresOnSaturation(); 3611 .RetiresOnSaturation();
3612 { 3612 {
3613 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock( 3613 ResourceProvider::ScopedWriteLockGpuMemoryBuffer lock(
3614 resource_provider.get(), source_id); 3614 resource_provider.get(), source_id);
3615 EXPECT_TRUE(lock.GetGpuMemoryBuffer()); 3615 EXPECT_TRUE(lock.AllocateGpuMemoryBuffer(false));
3616 } 3616 }
3617 Mock::VerifyAndClearExpectations(context); 3617 Mock::VerifyAndClearExpectations(context);
3618 3618
3619 dest_id = resource_provider->CreateResource( 3619 dest_id = resource_provider->CreateResource(
3620 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format); 3620 size, GL_CLAMP_TO_EDGE, ResourceProvider::TEXTURE_HINT_IMMUTABLE, format);
3621 3621
3622 EXPECT_CALL(*context, NextTextureId()) 3622 EXPECT_CALL(*context, NextTextureId())
3623 .WillOnce(Return(kDestTextureId)) 3623 .WillOnce(Return(kDestTextureId))
3624 .RetiresOnSaturation(); 3624 .RetiresOnSaturation();
3625 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kDestTextureId)) 3625 EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kDestTextureId))
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
3802 resource_provider->AllocateForTesting(id); 3802 resource_provider->AllocateForTesting(id);
3803 Mock::VerifyAndClearExpectations(context); 3803 Mock::VerifyAndClearExpectations(context);
3804 3804
3805 DCHECK_EQ(10u, context->PeekTextureId()); 3805 DCHECK_EQ(10u, context->PeekTextureId());
3806 resource_provider->DeleteResource(id); 3806 resource_provider->DeleteResource(id);
3807 } 3807 }
3808 } 3808 }
3809 3809
3810 } // namespace 3810 } // namespace
3811 } // namespace cc 3811 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698