diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-23 02:00:26 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-23 02:00:26 +0000 |
commit | 9edc6b2c8f0e0992c2f17eb5434d7c3044baff19 (patch) | |
tree | ab01dd716b3d0f01675029635ffde9ff9f4d64d9 /gpu/command_buffer/service/renderbuffer_manager_unittest.cc | |
parent | d5d9bf9b6414fecc6c9c764b05fb7f0f9a8c8745 (diff) | |
download | chromium_src-9edc6b2c8f0e0992c2f17eb5434d7c3044baff19.zip chromium_src-9edc6b2c8f0e0992c2f17eb5434d7c3044baff19.tar.gz chromium_src-9edc6b2c8f0e0992c2f17eb5434d7c3044baff19.tar.bz2 |
Make CopyTexImage2D and CopyTexSubImage2D fail if
formats are incompatible.
TEST=unit tests, more WebGL conformance tests pass.
BUG=none
Review URL: http://codereview.chromium.org/6028005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70021 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/renderbuffer_manager_unittest.cc')
-rw-r--r-- | gpu/command_buffer/service/renderbuffer_manager_unittest.cc | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/gpu/command_buffer/service/renderbuffer_manager_unittest.cc b/gpu/command_buffer/service/renderbuffer_manager_unittest.cc index da1849c..c68b599 100644 --- a/gpu/command_buffer/service/renderbuffer_manager_unittest.cc +++ b/gpu/command_buffer/service/renderbuffer_manager_unittest.cc @@ -56,14 +56,6 @@ TEST_F(RenderbufferManagerTest, Basic) { GLuint client_id = 0; EXPECT_TRUE(manager_.GetClientId(info1->service_id(), &client_id)); EXPECT_EQ(kClient1Id, client_id); - EXPECT_FALSE(info1->cleared()); - info1->set_cleared(); - EXPECT_TRUE(info1->cleared()); - // Check if we set the format it gets marked as not cleared. - info1->set_internal_format(GL_RGBA); - EXPECT_FALSE(info1->cleared()); - EXPECT_FALSE(info1->IsDeleted()); - EXPECT_EQ(kService1Id, info1->service_id()); // Check we get nothing for a non-existent renderbuffer. EXPECT_TRUE(manager_.GetRenderbufferInfo(kClient2Id) == NULL); // Check trying to a remove non-existent renderbuffers does not crash. @@ -90,6 +82,39 @@ TEST_F(RenderbufferManagerTest, Destroy) { ASSERT_TRUE(info1 == NULL); } +TEST_F(RenderbufferManagerTest, RenderbufferInfo) { + const GLuint kClient1Id = 1; + const GLuint kService1Id = 11; + // Check we can create renderbuffer. + manager_.CreateRenderbufferInfo(kClient1Id, kService1Id); + // Check renderbuffer got created. + RenderbufferManager::RenderbufferInfo* info1 = + manager_.GetRenderbufferInfo(kClient1Id); + ASSERT_TRUE(info1 != NULL); + EXPECT_EQ(kService1Id, info1->service_id()); + EXPECT_EQ(0, info1->samples()); + EXPECT_EQ(static_cast<GLenum>(GL_RGBA4), info1->internal_format()); + EXPECT_EQ(0, info1->width()); + EXPECT_EQ(0, info1->height()); + + EXPECT_FALSE(info1->cleared()); + info1->set_cleared(); + EXPECT_TRUE(info1->cleared()); + + // Check if we set the info it gets marked as not cleared. + const GLsizei kSamples = 4; + const GLenum kFormat = GL_RGBA; + const GLsizei kWidth = 128; + const GLsizei kHeight = 64; + info1->SetInfo(kSamples, kFormat, kWidth, kHeight); + EXPECT_EQ(kSamples, info1->samples()); + EXPECT_EQ(kFormat, info1->internal_format()); + EXPECT_EQ(kWidth, info1->width()); + EXPECT_EQ(kHeight, info1->height()); + EXPECT_FALSE(info1->cleared()); + EXPECT_FALSE(info1->IsDeleted()); +} + } // namespace gles2 } // namespace gpu |