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

Side by Side Diff: gpu/command_buffer/service/program_manager_unittest.cc

Issue 2378583003: Ping watchdog thread during GpuChannel destruction (Closed)
Patch Set: remove throttling 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/program_manager.h" 5 #include "gpu/command_buffer/service/program_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 gl_.get(), gl_extensions, "", gl_version, feature_info->context_type()); 76 gl_.get(), gl_extensions, "", gl_version, feature_info->context_type());
77 feature_info->InitializeForTesting(); 77 feature_info->InitializeForTesting();
78 feature_info_ = feature_info; 78 feature_info_ = feature_info;
79 SetupProgramManager(); 79 SetupProgramManager();
80 } 80 }
81 void SetUp() override { 81 void SetUp() override {
82 // Parameters same as GpuServiceTest::SetUp 82 // Parameters same as GpuServiceTest::SetUp
83 SetUpBase("2.0", "GL_EXT_framebuffer_object"); 83 SetUpBase("2.0", "GL_EXT_framebuffer_object");
84 } 84 }
85 void TearDown() override { 85 void TearDown() override {
86 manager_->Destroy(false); 86 manager_->Destroy(false, nullptr);
87 manager_.reset(); 87 manager_.reset();
88 feature_info_ = nullptr; 88 feature_info_ = nullptr;
89 GpuServiceTest::TearDown(); 89 GpuServiceTest::TearDown();
90 } 90 }
91 91
92 std::unique_ptr<ProgramManager> manager_; 92 std::unique_ptr<ProgramManager> manager_;
93 GpuPreferences gpu_preferences_; 93 GpuPreferences gpu_preferences_;
94 scoped_refptr<FeatureInfo> feature_info_; 94 scoped_refptr<FeatureInfo> feature_info_;
95 }; 95 };
96 96
(...skipping 20 matching lines...) Expand all
117 const GLuint kService1Id = 11; 117 const GLuint kService1Id = 11;
118 // Check we can create program. 118 // Check we can create program.
119 Program* program0 = manager_->CreateProgram(kClient1Id, kService1Id); 119 Program* program0 = manager_->CreateProgram(kClient1Id, kService1Id);
120 ASSERT_TRUE(program0 != NULL); 120 ASSERT_TRUE(program0 != NULL);
121 // Check program got created. 121 // Check program got created.
122 Program* program1 = manager_->GetProgram(kClient1Id); 122 Program* program1 = manager_->GetProgram(kClient1Id);
123 ASSERT_EQ(program0, program1); 123 ASSERT_EQ(program0, program1);
124 EXPECT_CALL(*gl_, DeleteProgram(kService1Id)) 124 EXPECT_CALL(*gl_, DeleteProgram(kService1Id))
125 .Times(1) 125 .Times(1)
126 .RetiresOnSaturation(); 126 .RetiresOnSaturation();
127 manager_->Destroy(true); 127 manager_->Destroy(true, nullptr);
128 // Check the resources were released. 128 // Check the resources were released.
129 program1 = manager_->GetProgram(kClient1Id); 129 program1 = manager_->GetProgram(kClient1Id);
130 ASSERT_TRUE(program1 == NULL); 130 ASSERT_TRUE(program1 == NULL);
131 } 131 }
132 132
133 TEST_F(ProgramManagerTest, DeleteBug) { 133 TEST_F(ProgramManagerTest, DeleteBug) {
134 ShaderManager shader_manager; 134 ShaderManager shader_manager;
135 const GLuint kClient1Id = 1; 135 const GLuint kClient1Id = 1;
136 const GLuint kClient2Id = 2; 136 const GLuint kClient2Id = 2;
137 const GLuint kService1Id = 11; 137 const GLuint kService1Id = 11;
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 // Set up program 437 // Set up program
438 Program* program = 438 Program* program =
439 manager_->CreateProgram(kClientProgramId, kServiceProgramId); 439 manager_->CreateProgram(kClientProgramId, kServiceProgramId);
440 EXPECT_TRUE(program != NULL); 440 EXPECT_TRUE(program != NULL);
441 EXPECT_TRUE(program->AttachShader(&shader_manager_, vshader)); 441 EXPECT_TRUE(program->AttachShader(&shader_manager_, vshader));
442 EXPECT_TRUE(program->AttachShader(&shader_manager_, fshader)); 442 EXPECT_TRUE(program->AttachShader(&shader_manager_, fshader));
443 return program; 443 return program;
444 } 444 }
445 445
446 void TearDown() override { 446 void TearDown() override {
447 shader_manager_.Destroy(false); 447 shader_manager_.Destroy(false, nullptr);
448 ProgramManagerTestBase::TearDown(); 448 ProgramManagerTestBase::TearDown();
449 } 449 }
450 450
451 static AttribInfo kAttribs[]; 451 static AttribInfo kAttribs[];
452 static UniformInfo kUniforms[]; 452 static UniformInfo kUniforms[];
453 ShaderManager shader_manager_; 453 ShaderManager shader_manager_;
454 }; 454 };
455 455
456 ProgramManagerWithShaderTest::AttribInfo 456 ProgramManagerWithShaderTest::AttribInfo
457 ProgramManagerWithShaderTest::kAttribs[] = { 457 ProgramManagerWithShaderTest::kAttribs[] = {
(...skipping 1634 matching lines...) Expand 10 before | Expand all | Expand 10 after
2092 fragment_shader_->set_source("lka asjf a fasgag 3rdsf3 bjajsdfj"); 2092 fragment_shader_->set_source("lka asjf a fasgag 3rdsf3 bjajsdfj");
2093 2093
2094 program_ = manager_->CreateProgram(kClientProgramId, kServiceProgramId); 2094 program_ = manager_->CreateProgram(kClientProgramId, kServiceProgramId);
2095 ASSERT_TRUE(program_ != NULL); 2095 ASSERT_TRUE(program_ != NULL);
2096 2096
2097 program_->AttachShader(&shader_manager_, vertex_shader_); 2097 program_->AttachShader(&shader_manager_, vertex_shader_);
2098 program_->AttachShader(&shader_manager_, fragment_shader_); 2098 program_->AttachShader(&shader_manager_, fragment_shader_);
2099 } 2099 }
2100 2100
2101 void TearDown() override { 2101 void TearDown() override {
2102 shader_manager_.Destroy(false); 2102 shader_manager_.Destroy(false, nullptr);
2103 ProgramManagerTestBase::TearDown(); 2103 ProgramManagerTestBase::TearDown();
2104 } 2104 }
2105 2105
2106 void SetShadersCompiled() { 2106 void SetShadersCompiled() {
2107 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true); 2107 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true);
2108 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true); 2108 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true);
2109 } 2109 }
2110 2110
2111 void SetProgramCached() { 2111 void SetProgramCached() {
2112 cache_->LinkedProgramCacheSuccess( 2112 cache_->LinkedProgramCacheSuccess(
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
2521 ProgramManagerDualSourceBlendingES2Test, 2521 ProgramManagerDualSourceBlendingES2Test,
2522 testing::Values( 2522 testing::Values(
2523 make_gl_ext_tuple("3.2", 2523 make_gl_ext_tuple("3.2",
2524 "GL_ARB_draw_buffers GL_ARB_blend_func_extended " 2524 "GL_ARB_draw_buffers GL_ARB_blend_func_extended "
2525 "GL_ARB_program_interface_query"), 2525 "GL_ARB_program_interface_query"),
2526 make_gl_ext_tuple("opengl es 3.1", 2526 make_gl_ext_tuple("opengl es 3.1",
2527 "GL_EXT_draw_buffers GL_EXT_blend_func_extended"))); 2527 "GL_EXT_draw_buffers GL_EXT_blend_func_extended")));
2528 2528
2529 } // namespace gles2 2529 } // namespace gles2
2530 } // namespace gpu 2530 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698