summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/renderbuffer_manager_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/renderbuffer_manager_unittest.cc')
-rw-r--r--gpu/command_buffer/service/renderbuffer_manager_unittest.cc37
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