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

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

Issue 224763002: Remove default textures in (!bind_generates_resource) context groups. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use kBindGeneratesResource in context_group_unittest.cc. Created 6 years, 9 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 ae88a99d02647f2b54c4435b178ccd54a5778625..873511d3d359e46ad596c27de72e5bf7a628f587 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -47,10 +47,9 @@ class TextureManagerTest : public testing::Test {
static const GLint kMax2dLevels = 5;
static const GLint kMaxCubeMapLevels = 4;
static const GLint kMaxExternalLevels = 1;
+ static const bool kUseDefaultTextures = false;
- TextureManagerTest()
- : feature_info_(new FeatureInfo()) {
- }
+ TextureManagerTest() : feature_info_(new FeatureInfo()) {}
virtual ~TextureManagerTest() {
}
@@ -60,10 +59,13 @@ class TextureManagerTest : public testing::Test {
gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>());
::gfx::MockGLInterface::SetGLInterface(gl_.get());
- manager_.reset(new TextureManager(
- NULL, feature_info_.get(),
- kMaxTextureSize, kMaxCubeMapTextureSize));
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
+ manager_.reset(new TextureManager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
manager_->Initialize();
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>());
}
@@ -162,11 +164,54 @@ TEST_F(TextureManagerTest, SetParameter) {
SetParameter(texture_ref, GL_TEXTURE_MAX_ANISOTROPY_EXT, 0, GL_INVALID_VALUE);
}
+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);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ use_default_textures);
+ manager.Initialize();
+
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) != NULL);
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) != NULL);
+
+ // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB.
+
+ manager.Destroy(false);
+}
+
+TEST_F(TextureManagerTest, UseDefaultTexturesFalse) {
+ bool use_default_textures = false;
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "GL_ANGLE_texture_usage", use_default_textures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ use_default_textures);
+ manager.Initialize();
+
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL);
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) == NULL);
+
+ // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB.
+
+ manager.Destroy(false);
+}
+
TEST_F(TextureManagerTest, TextureUsageExt) {
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
- "GL_ANGLE_texture_usage");
- TextureManager manager(
- NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "GL_ANGLE_texture_usage", kUseDefaultTextures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.Initialize();
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
@@ -186,9 +231,13 @@ TEST_F(TextureManagerTest, TextureUsageExt) {
TEST_F(TextureManagerTest, Destroy) {
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
- TextureManager manager(
- NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.Initialize();
// Check we can create texture.
manager.CreateTexture(kClient1Id, kService1Id);
@@ -198,7 +247,8 @@ TEST_F(TextureManagerTest, Destroy) {
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id)))
.Times(1)
.RetiresOnSaturation();
- TestHelper::SetupTextureManagerDestructionExpectations(gl_.get(), "");
+ TestHelper::SetupTextureManagerDestructionExpectations(
+ gl_.get(), "", kUseDefaultTextures);
manager.Destroy(true);
// Check that resources got freed.
texture = manager.GetTexture(kClient1Id);
@@ -319,8 +369,11 @@ TEST_F(TextureManagerTest, ValidForTargetNPOT) {
gl_.get(), "GL_OES_texture_npot");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
// Check NPOT width on level 0
EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 5, 2, 1));
// Check NPOT height on level 0
@@ -340,6 +393,7 @@ class TextureTestBase : public testing::Test {
static const GLint kMaxCubeMapLevels = 4;
static const GLuint kClient1Id = 1;
static const GLuint kService1Id = 11;
+ static const bool kUseDefaultTextures = false;
TextureTestBase()
: feature_info_(new FeatureInfo()) {
@@ -359,9 +413,11 @@ class TextureTestBase : public testing::Test {
feature_info_->Initialize();
}
- manager_.reset(new TextureManager(
- memory_tracker, feature_info_.get(),
- kMaxTextureSize, kMaxCubeMapTextureSize));
+ manager_.reset(new TextureManager(memory_tracker,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>());
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>());
manager_->CreateTexture(kClient1Id, kService1Id);
@@ -795,8 +851,11 @@ TEST_F(TextureTest, NPOT2DNPOTOK) {
gl_.get(), "GL_OES_texture_npot");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1083,8 +1142,11 @@ TEST_F(TextureTest, FloatNotLinear) {
gl_.get(), "GL_OES_texture_float");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1110,8 +1172,11 @@ TEST_F(TextureTest, FloatLinear) {
gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1129,8 +1194,11 @@ TEST_F(TextureTest, HalfFloatNotLinear) {
gl_.get(), "GL_OES_texture_half_float");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1156,8 +1224,11 @@ TEST_F(TextureTest, HalfFloatLinear) {
gl_.get(), "GL_OES_texture_half_float GL_OES_texture_half_float_linear");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1175,8 +1246,11 @@ TEST_F(TextureTest, EGLImageExternal) {
gl_.get(), "GL_OES_EGL_image_external");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1192,8 +1266,11 @@ TEST_F(TextureTest, DepthTexture) {
gl_.get(), "GL_ANGLE_depth_texture");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -2126,9 +2203,9 @@ class CountingMemoryTracker : public MemoryTracker {
class SharedTextureTest : public testing::Test {
public:
- SharedTextureTest()
- : feature_info_(new FeatureInfo()) {
- }
+ static const bool kUseDefaultTextures = false;
+
+ SharedTextureTest() : feature_info_(new FeatureInfo()) {}
virtual ~SharedTextureTest() {
}
@@ -2142,16 +2219,20 @@ class SharedTextureTest : public testing::Test {
new TextureManager(memory_tracker1_.get(),
feature_info_.get(),
TextureManagerTest::kMaxTextureSize,
- TextureManagerTest::kMaxCubeMapTextureSize));
+ TextureManagerTest::kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
memory_tracker2_ = new CountingMemoryTracker;
texture_manager2_.reset(
new TextureManager(memory_tracker2_.get(),
feature_info_.get(),
TextureManagerTest::kMaxTextureSize,
- TextureManagerTest::kMaxCubeMapTextureSize));
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
+ TextureManagerTest::kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
texture_manager1_->Initialize();
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
texture_manager2_->Initialize();
}
« 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