diff options
Diffstat (limited to 'gpu/command_buffer/service/renderbuffer_manager_unittest.cc')
-rw-r--r-- | gpu/command_buffer/service/renderbuffer_manager_unittest.cc | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/gpu/command_buffer/service/renderbuffer_manager_unittest.cc b/gpu/command_buffer/service/renderbuffer_manager_unittest.cc index 20e18c1..c43e94a 100644 --- a/gpu/command_buffer/service/renderbuffer_manager_unittest.cc +++ b/gpu/command_buffer/service/renderbuffer_manager_unittest.cc @@ -8,6 +8,7 @@ #include "gpu/command_buffer/common/gles2_cmd_utils.h" #include "gpu/command_buffer/service/mocks.h" #include "testing/gtest/include/gtest/gtest.h" +#include "ui/gl/gl_implementation.h" #include "ui/gl/gl_mock.h" using ::testing::StrictMock; @@ -21,11 +22,11 @@ class RenderbufferManagerTestBase : public testing::Test { static const GLint kMaxSamples = 4; protected: - void SetUpBase(MemoryTracker* memory_tracker) { + void SetUpBase(MemoryTracker* memory_tracker, bool depth24_supported) { gl_.reset(new ::testing::StrictMock<gfx::MockGLInterface>()); ::gfx::GLInterface::SetGLInterface(gl_.get()); manager_.reset(new RenderbufferManager( - memory_tracker, kMaxSize, kMaxSamples)); + memory_tracker, kMaxSize, kMaxSamples, depth24_supported)); } virtual void TearDown() { @@ -43,7 +44,8 @@ class RenderbufferManagerTestBase : public testing::Test { class RenderbufferManagerTest : public RenderbufferManagerTestBase { protected: virtual void SetUp() { - SetUpBase(NULL); + bool depth24_supported = false; + SetUpBase(NULL, depth24_supported); } }; @@ -52,7 +54,8 @@ class RenderbufferManagerMemoryTrackerTest protected: virtual void SetUp() { mock_memory_tracker_ = new StrictMock<MockMemoryTracker>(); - SetUpBase(mock_memory_tracker_.get()); + bool depth24_supported = false; + SetUpBase(mock_memory_tracker_.get(), depth24_supported); } scoped_refptr<MockMemoryTracker> mock_memory_tracker_; @@ -179,9 +182,9 @@ TEST_F(RenderbufferManagerMemoryTrackerTest, Basic) { const GLsizei kHeight2 = 32; uint32 expected_size_1 = 0; uint32 expected_size_2 = 0; - RenderbufferManager::ComputeEstimatedRenderbufferSize( + manager_->ComputeEstimatedRenderbufferSize( kWidth, kHeight1, kSamples, kFormat, &expected_size_1); - RenderbufferManager::ComputeEstimatedRenderbufferSize( + manager_->ComputeEstimatedRenderbufferSize( kWidth, kHeight2, kSamples, kFormat, &expected_size_2); EXPECT_MEMORY_ALLOCATION_CHANGE( 0, expected_size_1, MemoryTracker::kUnmanaged); @@ -291,6 +294,28 @@ TEST_F(RenderbufferManagerTest, AddToSignature) { .RetiresOnSaturation(); } +class RenderbufferManagerFormatTest : public RenderbufferManagerTestBase { + protected: + virtual void SetUp() { + bool depth24_supported = true; + SetUpBase(NULL, depth24_supported); + } +}; + +TEST_F(RenderbufferManagerFormatTest, UpgradeDepthFormatOnGLES) { + gfx::SetGLImplementation(gfx::kGLImplementationEGLGLES2); + GLenum impl_format = + manager_->InternalRenderbufferFormatToImplFormat(GL_DEPTH_COMPONENT16); + EXPECT_EQ(static_cast<GLenum>(GL_DEPTH_COMPONENT24), impl_format); +} + +TEST_F(RenderbufferManagerFormatTest, UseUnsizedDepthFormatOnNonGLES) { + gfx::SetGLImplementation(gfx::kGLImplementationDesktopGL); + GLenum impl_format = + manager_->InternalRenderbufferFormatToImplFormat(GL_DEPTH_COMPONENT16); + EXPECT_EQ(static_cast<GLenum>(GL_DEPTH_COMPONENT), impl_format); +} + } // namespace gles2 } // namespace gpu |