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

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

Issue 2378583003: Ping watchdog thread during GpuChannel destruction (Closed)
Patch Set: feedback Created 4 years, 2 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
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 0236f718615a083ca4da6704b41abb855a004025..5f3be163897e7aba044ef6d7022d2e6b7909f0cf 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -21,6 +21,7 @@
#include "gpu/command_buffer/service/mailbox_manager.h"
#include "gpu/command_buffer/service/memory_tracking.h"
#include "gpu/command_buffer/service/mocks.h"
+#include "gpu/command_buffer/service/progress_reporter_stub.h"
#include "gpu/command_buffer/service/test_helper.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_image_stub.h"
@@ -81,14 +82,10 @@ class TextureManagerTest : public GpuServiceTest {
protected:
void SetUp() override {
GpuServiceTest::SetUp();
- manager_.reset(new TextureManager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures));
+ manager_.reset(new TextureManager(
+ NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize,
+ kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_));
SetupFeatureInfo("", "OpenGL ES 2.0", false);
TestHelper::SetupTextureManagerInitExpectations(
gl_.get(), false, false, false, "", kUseDefaultTextures);
@@ -130,6 +127,7 @@ class TextureManagerTest : public GpuServiceTest {
scoped_refptr<FeatureInfo> feature_info_;
std::unique_ptr<TextureManager> manager_;
std::unique_ptr<MockErrorState> error_state_;
+ ProgressReporterStub progress_reporter_;
};
// GCC requires these declarations, but MSVC requires they not be present
@@ -248,14 +246,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrue) {
bool use_default_textures = true;
TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
false, false, false, "GL_ANGLE_texture_usage", use_default_textures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- use_default_textures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ use_default_textures, &progress_reporter_);
manager.Initialize();
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) != NULL);
@@ -270,14 +264,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalse) {
bool use_default_textures = false;
TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
false, false, false, "GL_ANGLE_texture_usage", use_default_textures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- use_default_textures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ use_default_textures, &progress_reporter_);
manager.Initialize();
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL);
@@ -293,14 +283,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) {
SetupFeatureInfo("", "OpenGL ES 3.0", true);
TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
true, true, false, "", use_default_textures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- use_default_textures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ use_default_textures, &progress_reporter_);
manager.Initialize();
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL);
@@ -314,14 +300,10 @@ TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) {
SetupFeatureInfo("", "OpenGL ES 3.0", true);
TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
true, true, false, "", use_default_textures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- use_default_textures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ use_default_textures, &progress_reporter_);
manager.Initialize();
EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL);
@@ -334,14 +316,10 @@ TEST_F(TextureManagerTest, TextureUsageExt) {
TestHelper::SetupTextureManagerInitExpectations(
gl_.get(), false, false, false, "GL_ANGLE_texture_usage",
kUseDefaultTextures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.Initialize();
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
@@ -363,14 +341,10 @@ TEST_F(TextureManagerTest, Destroy) {
const GLuint kService1Id = 11;
TestHelper::SetupTextureManagerInitExpectations(
gl_.get(), false, false, false, "", kUseDefaultTextures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.Initialize();
// Check we can create texture.
manager.CreateTexture(kClient1Id, kService1Id);
@@ -522,14 +496,10 @@ TEST_F(TextureManagerTest, ValidForTargetNPOT) {
gl_.get(), "GL_OES_texture_npot");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
// Check NPOT width on level 0
EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 5, 2, 1));
// Check NPOT height on level 0
@@ -548,14 +518,10 @@ TEST_F(TextureManagerTest, AlphaLuminanceCompatibilityProfile) {
SetupFeatureInfo("", "2.1", false);
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), false, false,
false, "", kUseDefaultTextures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.Initialize();
// Create a texture.
@@ -593,14 +559,10 @@ TEST_F(TextureManagerTest, AlphaLuminanceCoreProfileEmulation) {
SetupFeatureInfo("", "4.2", true);
TestHelper::SetupTextureManagerInitExpectations(gl_.get(), true, true, true,
"", kUseDefaultTextures);
- TextureManager manager(NULL,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.Initialize();
// Create a texture.
@@ -712,14 +674,10 @@ class TextureTestBase : public GpuServiceTest {
extensions.c_str());
feature_info_->InitializeForTesting();
- manager_.reset(new TextureManager(memory_tracker,
- feature_info_.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures));
+ manager_.reset(new TextureManager(
+ memory_tracker, feature_info_.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize, kMax3DTextureSize,
+ kMaxArrayTextureLayers, kUseDefaultTextures, &progress_reporter_));
decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>());
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>());
manager_->CreateTexture(kClient1Id, kService1Id);
@@ -757,6 +715,7 @@ class TextureTestBase : public GpuServiceTest {
scoped_refptr<FeatureInfo> feature_info_;
std::unique_ptr<TextureManager> manager_;
scoped_refptr<TextureRef> texture_ref_;
+ ProgressReporterStub progress_reporter_;
};
class TextureTest : public TextureTestBase {
@@ -1018,14 +977,10 @@ TEST_F(TextureTest, NPOT2DNPOTOK) {
gl_.get(), "GL_OES_texture_npot");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1320,14 +1275,10 @@ TEST_F(TextureTest, FloatNotLinear) {
gl_.get(), "GL_OES_texture_float");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1353,14 +1304,10 @@ TEST_F(TextureTest, FloatLinear) {
gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1378,14 +1325,10 @@ TEST_F(TextureTest, HalfFloatNotLinear) {
gl_.get(), "GL_OES_texture_half_float");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1411,14 +1354,10 @@ 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->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1436,14 +1375,10 @@ TEST_F(TextureTest, EGLImageExternal) {
gl_.get(), "GL_OES_EGL_image_external");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1459,14 +1394,10 @@ TEST_F(TextureTest, DepthTexture) {
gl_.get(), "GL_ANGLE_depth_texture");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->InitializeForTesting();
- TextureManager manager(NULL,
- feature_info.get(),
- kMaxTextureSize,
- kMaxCubeMapTextureSize,
- kMaxRectangleTextureSize,
- kMax3DTextureSize,
- kMaxArrayTextureLayers,
- kUseDefaultTextures);
+ TextureManager manager(NULL, feature_info.get(), kMaxTextureSize,
+ kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
+ kMax3DTextureSize, kMaxArrayTextureLayers,
+ kUseDefaultTextures, &progress_reporter_);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -2236,24 +2167,22 @@ class SharedTextureTest : public GpuServiceTest {
GpuServiceTest::SetUp();
memory_tracker1_ = new CountingMemoryTracker;
texture_manager1_.reset(
- new TextureManager(memory_tracker1_.get(),
- feature_info_.get(),
+ new TextureManager(memory_tracker1_.get(), feature_info_.get(),
TextureManagerTest::kMaxTextureSize,
TextureManagerTest::kMaxCubeMapTextureSize,
TextureManagerTest::kMaxRectangleTextureSize,
TextureManagerTest::kMax3DTextureSize,
TextureManagerTest::kMaxArrayTextureLayers,
- kUseDefaultTextures));
+ kUseDefaultTextures, &progress_reporter_));
memory_tracker2_ = new CountingMemoryTracker;
texture_manager2_.reset(
- new TextureManager(memory_tracker2_.get(),
- feature_info_.get(),
+ new TextureManager(memory_tracker2_.get(), feature_info_.get(),
TextureManagerTest::kMaxTextureSize,
TextureManagerTest::kMaxCubeMapTextureSize,
TextureManagerTest::kMaxRectangleTextureSize,
TextureManagerTest::kMax3DTextureSize,
TextureManagerTest::kMaxArrayTextureLayers,
- kUseDefaultTextures));
+ kUseDefaultTextures, &progress_reporter_));
SetupFeatureInfo("", "OpenGL ES 2.0", false);
TestHelper::SetupTextureManagerInitExpectations(
gl_.get(), false, false, false, "", kUseDefaultTextures);
@@ -2295,6 +2224,7 @@ class SharedTextureTest : public GpuServiceTest {
std::unique_ptr<TextureManager> texture_manager1_;
scoped_refptr<CountingMemoryTracker> memory_tracker2_;
std::unique_ptr<TextureManager> texture_manager2_;
+ ProgressReporterStub progress_reporter_;
};
TEST_F(SharedTextureTest, DeleteTextures) {

Powered by Google App Engine
This is Rietveld 408576698