summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/renderbuffer_manager_unittest.cc
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-23 02:00:26 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-23 02:00:26 +0000
commit9edc6b2c8f0e0992c2f17eb5434d7c3044baff19 (patch)
treeab01dd716b3d0f01675029635ffde9ff9f4d64d9 /gpu/command_buffer/service/renderbuffer_manager_unittest.cc
parentd5d9bf9b6414fecc6c9c764b05fb7f0f9a8c8745 (diff)
downloadchromium_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.cc41
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