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

Unified Diff: gpu/command_buffer/service/texture_manager_unittest.cc

Issue 14095009: Android: Fix up video to work with mailboxes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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: gpu/command_buffer/service/texture_manager_unittest.cc
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc
index 3092423f0cbda7c2df56276c5fe8ac2ca41a7bfe..3266d83d8f5842d2a1eb1eaf038c30aa97305699 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -368,9 +368,16 @@ class TextureTestBase : public testing::Test {
}
protected:
- void SetUpBase(MemoryTracker* memory_tracker) {
+ void SetUpBase(MemoryTracker* memory_tracker, std::string extensions) {
gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>());
::gfx::GLInterface::SetGLInterface(gl_.get());
+
+ if (!extensions.empty()) {
+ TestHelper::SetupFeatureInfoInitExpectations(gl_.get(),
+ extensions.c_str());
+ feature_info_->Initialize(NULL);
+ }
+
manager_.reset(new TextureManager(
memory_tracker, feature_info_.get(),
kMaxTextureSize, kMaxCubeMapTextureSize));
@@ -418,7 +425,7 @@ class TextureTestBase : public testing::Test {
class TextureTest : public TextureTestBase {
protected:
virtual void SetUp() {
- SetUpBase(NULL);
+ SetUpBase(NULL, std::string());
}
};
@@ -426,7 +433,7 @@ class TextureMemoryTrackerTest : public TextureTestBase {
protected:
virtual void SetUp() {
mock_memory_tracker_ = new StrictMock<MockMemoryTracker>();
- SetUpBase(mock_memory_tracker_.get());
+ SetUpBase(mock_memory_tracker_.get(), std::string());
}
scoped_refptr<MockMemoryTracker> mock_memory_tracker_;
@@ -1283,7 +1290,7 @@ TEST_F(TextureTest, AddToSignature) {
class SaveRestoreTextureTest : public TextureTest {
public:
virtual void SetUp() {
- TextureTest::SetUp();
+ TextureTest::SetUpBase(NULL, "GL_OES_EGL_image_external");
manager_->CreateTexture(kClient2Id, kService2Id);
texture2_ = manager_->GetTexture(kClient2Id);
}
@@ -1380,7 +1387,7 @@ class SaveRestoreTextureTest : public TextureTest {
TextureDefinition* Save(Texture* texture) {
EXPECT_CALL(*gl_, GenTextures(_, _))
- .WillOnce(SetArgumentPointee<1>(kService2Id));
+ .WillOnce(SetArgumentPointee<1>(kEmptyTextureServiceId));
TextureDefinition* definition = manager_->Save(texture);
EXPECT_TRUE(definition != NULL);
return definition;
@@ -1469,6 +1476,19 @@ TEST_F(SaveRestoreTextureTest, SaveRestoreClearRectangle) {
decoder_.get(), texture2_, GL_TEXTURE_RECTANGLE_ARB, 0));
}
+TEST_F(SaveRestoreTextureTest, SaveRestoreStreamTexture) {
+ manager_->SetTarget(texture_, GL_TEXTURE_EXTERNAL_OES);
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture_->target());
+ texture_->SetStreamTexture(true);
+ GLuint service_id = texture_->service_id();
+ scoped_ptr<TextureDefinition> definition(Save(texture_));
+ manager_->SetTarget(texture2_, GL_TEXTURE_EXTERNAL_OES);
+ Restore(texture2_, definition.release());
+ EXPECT_TRUE(texture2_->IsStreamTexture());
+ EXPECT_TRUE(texture2_->IsImmutable());
+ EXPECT_EQ(service_id, texture2_->service_id());
+}
+
TEST_F(SaveRestoreTextureTest, SaveRestoreCube) {
manager_->SetTarget(texture_, GL_TEXTURE_CUBE_MAP);
EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture_->target());

Powered by Google App Engine
This is Rietveld 408576698