From 9edc6b2c8f0e0992c2f17eb5434d7c3044baff19 Mon Sep 17 00:00:00 2001 From: "gman@chromium.org" Date: Thu, 23 Dec 2010 02:00:26 +0000 Subject: 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 --- .../service/renderbuffer_manager_unittest.cc | 41 +++++++++++++++++----- 1 file changed, 33 insertions(+), 8 deletions(-) (limited to 'gpu/command_buffer/service/renderbuffer_manager_unittest.cc') 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(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 -- cgit v1.1