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

Side by Side Diff: gpu/command_buffer/service/shader_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/shader_manager.h" 5 #include "gpu/command_buffer/service/shader_manager.h"
6 6
7 #include "gpu/command_buffer/service/gpu_service_test.h" 7 #include "gpu/command_buffer/service/gpu_service_test.h"
8 #include "gpu/command_buffer/service/mocks.h" 8 #include "gpu/command_buffer/service/mocks.h"
9 #include "gpu/command_buffer/service/test_helper.h" 9 #include "gpu/command_buffer/service/test_helper.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "ui/gl/gl_mock.h" 11 #include "ui/gl/gl_mock.h"
12 12
13 using ::testing::Return; 13 using ::testing::Return;
14 using ::testing::ReturnRef; 14 using ::testing::ReturnRef;
15 15
16 namespace gpu { 16 namespace gpu {
17 namespace gles2 { 17 namespace gles2 {
18 18
19 class ShaderManagerTest : public GpuServiceTest { 19 class ShaderManagerTest : public GpuServiceTest {
20 public: 20 public:
21 ShaderManagerTest() { 21 ShaderManagerTest() {
22 } 22 }
23 23
24 ~ShaderManagerTest() override { manager_.Destroy(false); } 24 ~ShaderManagerTest() override { manager_.Destroy(false, nullptr); }
25 25
26 protected: 26 protected:
27 ShaderManager manager_; 27 ShaderManager manager_;
28 }; 28 };
29 29
30 TEST_F(ShaderManagerTest, Basic) { 30 TEST_F(ShaderManagerTest, Basic) {
31 const GLuint kClient1Id = 1; 31 const GLuint kClient1Id = 1;
32 const GLuint kService1Id = 11; 32 const GLuint kService1Id = 11;
33 const GLenum kShader1Type = GL_VERTEX_SHADER; 33 const GLenum kShader1Type = GL_VERTEX_SHADER;
34 const GLuint kClient2Id = 2; 34 const GLuint kClient2Id = 2;
(...skipping 19 matching lines...) Expand all
54 const GLuint kService1Id = 11; 54 const GLuint kService1Id = 11;
55 const GLenum kShader1Type = GL_VERTEX_SHADER; 55 const GLenum kShader1Type = GL_VERTEX_SHADER;
56 // Check we can create shader. 56 // Check we can create shader.
57 Shader* shader1 = manager_.CreateShader( 57 Shader* shader1 = manager_.CreateShader(
58 kClient1Id, kService1Id, kShader1Type); 58 kClient1Id, kService1Id, kShader1Type);
59 // Check shader got created. 59 // Check shader got created.
60 ASSERT_TRUE(shader1 != NULL); 60 ASSERT_TRUE(shader1 != NULL);
61 EXPECT_CALL(*gl_, DeleteShader(kService1Id)) 61 EXPECT_CALL(*gl_, DeleteShader(kService1Id))
62 .Times(1) 62 .Times(1)
63 .RetiresOnSaturation(); 63 .RetiresOnSaturation();
64 manager_.Destroy(true); 64 manager_.Destroy(true, nullptr);
65 // Check that resources got freed. 65 // Check that resources got freed.
66 shader1 = manager_.GetShader(kClient1Id); 66 shader1 = manager_.GetShader(kClient1Id);
67 ASSERT_TRUE(shader1 == NULL); 67 ASSERT_TRUE(shader1 == NULL);
68 } 68 }
69 69
70 TEST_F(ShaderManagerTest, DeleteBug) { 70 TEST_F(ShaderManagerTest, DeleteBug) {
71 const GLuint kClient1Id = 1; 71 const GLuint kClient1Id = 1;
72 const GLuint kClient2Id = 2; 72 const GLuint kClient2Id = 2;
73 const GLuint kService1Id = 11; 73 const GLuint kService1Id = 11;
74 const GLuint kService2Id = 12; 74 const GLuint kService2Id = 12;
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 EXPECT_CALL(*gl_, DeleteShader(kService1Id)) 313 EXPECT_CALL(*gl_, DeleteShader(kService1Id))
314 .Times(1) 314 .Times(1)
315 .RetiresOnSaturation(); 315 .RetiresOnSaturation();
316 manager_.Delete(shader1); // this should delete the shader. 316 manager_.Delete(shader1); // this should delete the shader.
317 shader2 = manager_.GetShader(kClient1Id); 317 shader2 = manager_.GetShader(kClient1Id);
318 EXPECT_TRUE(shader2 == NULL); 318 EXPECT_TRUE(shader2 == NULL);
319 } 319 }
320 320
321 } // namespace gles2 321 } // namespace gles2
322 } // namespace gpu 322 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698