Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(571)

Unified Diff: gpu/command_buffer/service/texture_manager_unittest.cc

Issue 1335873002: Initialize default texture for GL_TEXTURE_3D and GL_TEXTURE_2D_ARRAY (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add standalone test for ES3 Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/command_buffer/service/texture_manager.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/service/texture_manager_unittest.cc
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc
index 231fc04224477fa9f6998bea1e2927a21a404d6a..6540c0fe8162620dc46c40f8488872db58759df8 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -78,7 +78,7 @@ class TextureManagerTest : public GpuServiceTest {
kMax3DTextureSize,
kUseDefaultTextures));
TestHelper::SetupTextureManagerInitExpectations(
- gl_.get(), "", kUseDefaultTextures);
+ gl_.get(), false, "", kUseDefaultTextures);
manager_->Initialize();
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>());
}
@@ -96,6 +96,12 @@ class TextureManagerTest : public GpuServiceTest {
texture_ref, pname, value, error);
}
+ void SetupFeatureInfo(const char* gl_extensions, const char* gl_version) {
+ TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
+ gl_.get(), gl_extensions, "", gl_version);
+ feature_info_->Initialize();
+ }
+
scoped_refptr<FeatureInfo> feature_info_;
scoped_ptr<TextureManager> manager_;
scoped_ptr<MockErrorState> error_state_;
@@ -177,10 +183,8 @@ TEST_F(TextureManagerTest, SetParameter) {
TEST_F(TextureManagerTest, UseDefaultTexturesTrue) {
bool use_default_textures = true;
- scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
-
- TestHelper::SetupTextureManagerInitExpectations(
- gl_.get(), "GL_ANGLE_texture_usage", use_default_textures);
+ TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
+ false, "GL_ANGLE_texture_usage", use_default_textures);
TextureManager manager(NULL,
feature_info_.get(),
kMaxTextureSize,
@@ -200,8 +204,8 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrue) {
TEST_F(TextureManagerTest, UseDefaultTexturesFalse) {
bool use_default_textures = false;
- TestHelper::SetupTextureManagerInitExpectations(
- gl_.get(), "GL_ANGLE_texture_usage", use_default_textures);
+ TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
+ false, "GL_ANGLE_texture_usage", use_default_textures);
TextureManager manager(NULL,
feature_info_.get(),
kMaxTextureSize,
@@ -219,9 +223,63 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalse) {
manager.Destroy(false);
}
+TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) {
+ bool use_default_textures = true;
+ SetupFeatureInfo("", "OpenGL ES 3.0");
+ EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _))
+ .WillOnce(SetArgPointee<1>(8))
+ .RetiresOnSaturation();
+ EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _))
+ .WillOnce(SetArgPointee<1>(8))
+ .RetiresOnSaturation();
+ feature_info_->EnableES3Validators();
+ TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
+ true, "", use_default_textures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kMaxRectangleTextureSize,
+ kMax3DTextureSize,
+ use_default_textures);
+ manager.Initialize();
+
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL);
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) != NULL);
+
+ manager.Destroy(false);
+}
+
+TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) {
+ bool use_default_textures = false;
+ SetupFeatureInfo("", "OpenGL ES 3.0");
+ EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _))
+ .WillOnce(SetArgPointee<1>(8))
+ .RetiresOnSaturation();
+ EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _))
+ .WillOnce(SetArgPointee<1>(8))
+ .RetiresOnSaturation();
+ feature_info_->EnableES3Validators();
Zhenyao Mo 2015/09/17 14:47:05 You can add a "bool enable_es3" to function SetupF
qiankun 2015/09/17 15:18:31 Done.
+ TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
+ true, "", use_default_textures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kMaxRectangleTextureSize,
+ kMax3DTextureSize,
+ use_default_textures);
+ manager.Initialize();
+
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL);
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) == NULL);
+
+ manager.Destroy(false);
+}
+
TEST_F(TextureManagerTest, TextureUsageExt) {
TestHelper::SetupTextureManagerInitExpectations(
- gl_.get(), "GL_ANGLE_texture_usage", kUseDefaultTextures);
+ gl_.get(), false, "GL_ANGLE_texture_usage", kUseDefaultTextures);
TextureManager manager(NULL,
feature_info_.get(),
kMaxTextureSize,
@@ -249,7 +307,7 @@ TEST_F(TextureManagerTest, Destroy) {
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
TestHelper::SetupTextureManagerInitExpectations(
- gl_.get(), "", kUseDefaultTextures);
+ gl_.get(), false, "", kUseDefaultTextures);
TextureManager manager(NULL,
feature_info_.get(),
kMaxTextureSize,
@@ -267,7 +325,7 @@ TEST_F(TextureManagerTest, Destroy) {
.Times(1)
.RetiresOnSaturation();
TestHelper::SetupTextureManagerDestructionExpectations(
- gl_.get(), "", kUseDefaultTextures);
+ gl_.get(), false, "", kUseDefaultTextures);
manager.Destroy(true);
// Check that resources got freed.
texture = manager.GetTexture(kClient1Id);
@@ -1824,10 +1882,10 @@ class SharedTextureTest : public GpuServiceTest {
TextureManagerTest::kMax3DTextureSize,
kUseDefaultTextures));
TestHelper::SetupTextureManagerInitExpectations(
- gl_.get(), "", kUseDefaultTextures);
+ gl_.get(), false, "", kUseDefaultTextures);
texture_manager1_->Initialize();
TestHelper::SetupTextureManagerInitExpectations(
- gl_.get(), "", kUseDefaultTextures);
+ gl_.get(), false, "", kUseDefaultTextures);
texture_manager2_->Initialize();
}
@@ -2072,12 +2130,6 @@ class TextureFormatTypeValidationTest : public TextureManagerTest {
~TextureFormatTypeValidationTest() override {}
protected:
- void SetupFeatureInfo(const char* gl_extensions, const char* gl_version) {
- TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
- gl_.get(), gl_extensions, "", gl_version);
- feature_info_->Initialize();
- }
-
void ExpectValid(GLenum format, GLenum type, GLenum internal_format) {
EXPECT_TRUE(manager_->ValidateTextureParameters(
error_state_.get(), "", format, type, internal_format, 0));
« no previous file with comments | « gpu/command_buffer/service/texture_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698