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

Side by Side Diff: gpu/command_buffer/service/mailbox_manager_unittest.cc

Issue 951673002: Revert "Pull chromium at 2c3ffb2355a27c32f45e508ef861416b820c823b" (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "gpu/command_buffer/service/feature_info.h" 5 #include "gpu/command_buffer/service/feature_info.h"
6 #include "gpu/command_buffer/service/gpu_service_test.h" 6 #include "gpu/command_buffer/service/gpu_service_test.h"
7 #include "gpu/command_buffer/service/mailbox_manager_impl.h" 7 #include "gpu/command_buffer/service/mailbox_manager_impl.h"
8 #include "gpu/command_buffer/service/mailbox_manager_sync.h" 8 #include "gpu/command_buffer/service/mailbox_manager_sync.h"
9 #include "gpu/command_buffer/service/texture_manager.h" 9 #include "gpu/command_buffer/service/texture_manager.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 // Cleared state should be synced. 588 // Cleared state should be synced.
589 EXPECT_FALSE(new_texture->SafeToRenderFrom()); 589 EXPECT_FALSE(new_texture->SafeToRenderFrom());
590 590
591 DestroyTexture(texture); 591 DestroyTexture(texture);
592 DestroyTexture(new_texture); 592 DestroyTexture(new_texture);
593 593
594 EXPECT_EQ(NULL, manager_->ConsumeTexture(name)); 594 EXPECT_EQ(NULL, manager_->ConsumeTexture(name));
595 EXPECT_EQ(NULL, manager2_->ConsumeTexture(name)); 595 EXPECT_EQ(NULL, manager2_->ConsumeTexture(name));
596 } 596 }
597 597
598 TEST_F(MailboxManagerSyncTest, SyncIncompleteTexture) {
599 const GLuint kNewTextureId = 1234;
600
601 // Create but not define texture.
602 Texture* texture = CreateTexture();
603 SetTarget(texture, GL_TEXTURE_2D, 1);
604 EXPECT_FALSE(texture->IsDefined());
605
606 Mailbox name = Mailbox::Generate();
607 manager_->ProduceTexture(name, texture);
608 EXPECT_EQ(texture, manager_->ConsumeTexture(name));
609
610 // Synchronize
611 manager_->PushTextureUpdates(0);
612 manager2_->PullTextureUpdates(0);
613
614 // Should sync to new texture which is not defined.
615 EXPECT_CALL(*gl_, GenTextures(1, _))
616 .WillOnce(SetArgPointee<1>(kNewTextureId));
617 SetupUpdateTexParamExpectations(kNewTextureId, texture->min_filter(),
618 texture->mag_filter(), texture->wrap_s(),
619 texture->wrap_t());
620 Texture* new_texture = manager2_->ConsumeTexture(name);
621 ASSERT_TRUE(new_texture);
622 EXPECT_NE(texture, new_texture);
623 EXPECT_EQ(kNewTextureId, new_texture->service_id());
624 EXPECT_FALSE(new_texture->IsDefined());
625
626 // Change cleared to false.
627 SetLevelInfo(texture,
628 GL_TEXTURE_2D,
629 0,
630 GL_RGBA,
631 1,
632 1,
633 1,
634 0,
635 GL_RGBA,
636 GL_UNSIGNED_BYTE,
637 true);
638 SetParameter(texture, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
639 SetParameter(texture, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
640 EXPECT_TRUE(texture->IsDefined());
641
642 // Synchronize
643 manager_->PushTextureUpdates(0);
644 SetupUpdateTexParamExpectations(
645 kNewTextureId, GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT);
646 manager2_->PullTextureUpdates(0);
647
648 // Cleared state should be synced.
649 EXPECT_TRUE(new_texture->IsDefined());
650
651 DestroyTexture(texture);
652 DestroyTexture(new_texture);
653
654 EXPECT_EQ(NULL, manager_->ConsumeTexture(name));
655 EXPECT_EQ(NULL, manager2_->ConsumeTexture(name));
656 }
657
658 // Putting the same texture into multiple mailboxes should result in sharing 598 // Putting the same texture into multiple mailboxes should result in sharing
659 // only a single texture also within a synchronized manager instance. 599 // only a single texture also within a synchronized manager instance.
660 TEST_F(MailboxManagerSyncTest, SharedThroughMultipleMailboxes) { 600 TEST_F(MailboxManagerSyncTest, SharedThroughMultipleMailboxes) {
661 const GLuint kNewTextureId = 1234; 601 const GLuint kNewTextureId = 1234;
662 InSequence sequence; 602 InSequence sequence;
663 603
664 Texture* texture = DefineTexture(); 604 Texture* texture = DefineTexture();
665 Mailbox name1 = Mailbox::Generate(); 605 Mailbox name1 = Mailbox::Generate();
666 Mailbox name2 = Mailbox::Generate(); 606 Mailbox name2 = Mailbox::Generate();
667 607
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 manager2_->PullTextureUpdates(0); 664 manager2_->PullTextureUpdates(0);
725 665
726 // name should return the original texture, and not texture2 or a new one. 666 // name should return the original texture, and not texture2 or a new one.
727 EXPECT_EQ(new_texture, manager2_->ConsumeTexture(name)); 667 EXPECT_EQ(new_texture, manager2_->ConsumeTexture(name));
728 668
729 DestroyTexture(texture1); 669 DestroyTexture(texture1);
730 DestroyTexture(texture2); 670 DestroyTexture(texture2);
731 DestroyTexture(new_texture); 671 DestroyTexture(new_texture);
732 } 672 }
733 673
674 // TODO: Produce incomplete texture
675
734 // TODO: Texture::level_infos_[][].size() 676 // TODO: Texture::level_infos_[][].size()
735 677
736 // TODO: unsupported targets and formats 678 // TODO: unsupported targets and formats
737 679
738 } // namespace gles2 680 } // namespace gles2
739 } // namespace gpu 681 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/mailbox_manager_sync.cc ('k') | gpu/command_buffer/service/shader_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698