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

Unified Diff: cc/resources/resource_provider_unittest.cc

Issue 1427543002: Modified old wait sync point functions to also accept new sync tokens. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix mock gpu video accelerator factory Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: cc/resources/resource_provider_unittest.cc
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc
index dc2b76d9bb992a0b9c3baddec1a85d93bb64dff1..6bb6758e2dd516f8301cf6bd1a1216d3b14d3423 100644
--- a/cc/resources/resource_provider_unittest.cc
+++ b/cc/resources/resource_provider_unittest.cc
@@ -187,12 +187,20 @@ class ResourceProviderContext : public TestWebGraphicsContext3D {
return sync_point;
}
- void waitSyncPoint(GLuint sync_point) override {
+ void waitSyncPoint(GLuint sync_point,
+ const gpu::SyncToken& sync_token) override {
last_waited_sync_point_ = std::max(sync_point, last_waited_sync_point_);
+ if (last_waited_sync_token_.release_count() > sync_token.release_count()) {
+ last_waited_sync_token_ = sync_token;
+ }
}
unsigned last_waited_sync_point() const { return last_waited_sync_point_; }
+ const gpu::SyncToken last_waited_sync_token() const {
dcheng 2015/10/27 19:09:28 Just curious: did you intentionally not return a c
David Yen 2015/10/28 22:03:43 Good catch, was a typo.
+ return last_waited_sync_token_;
+ }
+
void texStorage2DEXT(GLenum target,
GLint levels,
GLuint internalformat,
@@ -276,8 +284,8 @@ class ResourceProviderContext : public TestWebGraphicsContext3D {
const GLbyte* mailbox) override {
GLuint texture_id = createTexture();
base::AutoLock lock_for_texture_access(namespace_->lock);
- scoped_refptr<TestTexture> texture =
- shared_data_->ConsumeTexture(mailbox, last_waited_sync_point_);
+ scoped_refptr<TestTexture> texture = shared_data_->ConsumeTexture(
+ mailbox, last_waited_sync_point_, last_waited_sync_token_);
namespace_->textures.Replace(texture_id, texture);
return texture_id;
}
@@ -346,6 +354,7 @@ class ResourceProviderContext : public TestWebGraphicsContext3D {
typedef ScopedPtrDeque<PendingProduceTexture> PendingProduceTextureList;
ContextSharedData* shared_data_;
GLuint last_waited_sync_point_;
+ gpu::SyncToken last_waited_sync_token_;
PendingProduceTextureList pending_produce_textures_;
};
@@ -653,6 +662,8 @@ TEST_P(ResourceProviderTest, TransferGLResources) {
resource_provider_->ReceiveFromChild(child_id, list);
EXPECT_NE(list[0].mailbox_holder.sync_point,
context3d_->last_waited_sync_point());
+ EXPECT_NE(list[0].mailbox_holder.sync_token,
+ context3d_->last_waited_sync_token());
{
resource_provider_->WaitSyncPointIfNeeded(list[0].id);
ResourceProvider::ScopedReadLockGL lock(resource_provider_.get(),
@@ -660,6 +671,8 @@ TEST_P(ResourceProviderTest, TransferGLResources) {
}
EXPECT_EQ(list[0].mailbox_holder.sync_point,
context3d_->last_waited_sync_point());
+ EXPECT_EQ(list[0].mailbox_holder.sync_token,
+ context3d_->last_waited_sync_token());
ResourceProvider::ResourceIdSet resource_ids_to_receive;
resource_ids_to_receive.insert(id1);
resource_ids_to_receive.insert(id2);
@@ -2065,7 +2078,8 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) {
sizeof(mailbox.name)));
EXPECT_EQ(0u, release_sync_point);
- context()->waitSyncPoint(list[0].mailbox_holder.sync_point);
+ context()->waitSyncPoint(list[0].mailbox_holder.sync_point,
+ list[0].mailbox_holder.sync_token);
unsigned other_texture =
context()->createAndConsumeTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name);
uint8_t test_data[4] = { 0 };
@@ -2117,7 +2131,8 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) {
sizeof(mailbox.name)));
EXPECT_EQ(0u, release_sync_point);
- context()->waitSyncPoint(list[0].mailbox_holder.sync_point);
+ context()->waitSyncPoint(list[0].mailbox_holder.sync_point,
+ list[0].mailbox_holder.sync_token);
unsigned other_texture =
context()->createAndConsumeTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name);
uint8_t test_data[4] = { 0 };
@@ -2146,7 +2161,7 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) {
EXPECT_EQ(main_thread_task_runner_.get(), main_thread_task_runner);
}
- context()->waitSyncPoint(release_sync_point);
+ context()->waitSyncPoint(release_sync_point, gpu::SyncToken());
texture =
context()->createAndConsumeTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name);
context()->deleteTexture(texture);
@@ -2786,7 +2801,7 @@ class ResourceProviderTestTextureMailboxGLFilters
unsigned target = GL_TEXTURE_2D;
EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
EXPECT_CALL(*context, insertSyncPoint()).Times(0);
EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
@@ -2813,7 +2828,7 @@ class ResourceProviderTestTextureMailboxGLFilters
{
// Mailbox sync point WaitSyncPoint before using the texture.
- EXPECT_CALL(*context, waitSyncPoint(sync_point));
+ EXPECT_CALL(*context, waitSyncPoint(sync_point, _));
resource_provider->WaitSyncPointIfNeeded(id);
Mock::VerifyAndClearExpectations(context);
@@ -2843,7 +2858,7 @@ class ResourceProviderTestTextureMailboxGLFilters
EXPECT_CALL(*context, insertSyncPoint());
EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
}
@@ -2929,7 +2944,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) {
unsigned target = GL_TEXTURE_EXTERNAL_OES;
EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
EXPECT_CALL(*context, insertSyncPoint()).Times(0);
EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
@@ -2949,7 +2964,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) {
{
// Mailbox sync point WaitSyncPoint before using the texture.
- EXPECT_CALL(*context, waitSyncPoint(sync_point));
+ EXPECT_CALL(*context, waitSyncPoint(sync_point, _));
resource_provider->WaitSyncPointIfNeeded(id);
Mock::VerifyAndClearExpectations(context);
@@ -2970,7 +2985,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) {
EXPECT_CALL(*context, insertSyncPoint());
EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
}
}
@@ -2999,7 +3014,7 @@ TEST_P(ResourceProviderTest,
unsigned target = GL_TEXTURE_2D;
EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
EXPECT_CALL(*context, insertSyncPoint()).Times(0);
EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
@@ -3019,12 +3034,12 @@ TEST_P(ResourceProviderTest,
{
// First call to WaitSyncPointIfNeeded should call waitSyncPoint.
- EXPECT_CALL(*context, waitSyncPoint(sync_point));
+ EXPECT_CALL(*context, waitSyncPoint(sync_point, _));
resource_provider->WaitSyncPointIfNeeded(id);
Mock::VerifyAndClearExpectations(context);
// Subsequent calls to WaitSyncPointIfNeeded shouldn't call waitSyncPoint.
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
resource_provider->WaitSyncPointIfNeeded(id);
Mock::VerifyAndClearExpectations(context);
}
@@ -3053,7 +3068,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) {
unsigned target = GL_TEXTURE_2D;
EXPECT_CALL(*context, bindTexture(_, _)).Times(0);
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
EXPECT_CALL(*context, insertSyncPoint()).Times(0);
EXPECT_CALL(*context, produceTextureDirectCHROMIUM(_, _, _)).Times(0);
EXPECT_CALL(*context, createAndConsumeTextureCHROMIUM(_, _)).Times(0);
@@ -3073,7 +3088,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_WaitSyncPointIfNeeded_NoSyncPoint) {
{
// WaitSyncPointIfNeeded with sync_point == 0 shouldn't call waitSyncPoint.
- EXPECT_CALL(*context, waitSyncPoint(_)).Times(0);
+ EXPECT_CALL(*context, waitSyncPoint(_, _)).Times(0);
resource_provider->WaitSyncPointIfNeeded(id);
Mock::VerifyAndClearExpectations(context);
}

Powered by Google App Engine
This is Rietveld 408576698