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

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

Issue 1716813002: Use GpuPreferences to avoid directly accessing switches in gpu related code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update Created 4 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 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>
11 11
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
14 #include "base/strings/string_number_conversions.h" 14 #include "base/strings/string_number_conversions.h"
15 #include "base/strings/string_util.h" 15 #include "base/strings/string_util.h"
16 #include "gpu/command_buffer/common/gles2_cmd_format.h" 16 #include "gpu/command_buffer/common/gles2_cmd_format.h"
17 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 17 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
18 #include "gpu/command_buffer/service/common_decoder.h" 18 #include "gpu/command_buffer/service/common_decoder.h"
19 #include "gpu/command_buffer/service/feature_info.h" 19 #include "gpu/command_buffer/service/feature_info.h"
20 #include "gpu/command_buffer/service/gpu_preferences.h"
20 #include "gpu/command_buffer/service/gpu_service_test.h" 21 #include "gpu/command_buffer/service/gpu_service_test.h"
21 #include "gpu/command_buffer/service/gpu_switches.h" 22 #include "gpu/command_buffer/service/gpu_switches.h"
22 #include "gpu/command_buffer/service/mocks.h" 23 #include "gpu/command_buffer/service/mocks.h"
23 #include "gpu/command_buffer/service/shader_manager.h" 24 #include "gpu/command_buffer/service/shader_manager.h"
24 #include "gpu/command_buffer/service/test_helper.h" 25 #include "gpu/command_buffer/service/test_helper.h"
25 #include "testing/gtest/include/gtest/gtest.h" 26 #include "testing/gtest/include/gtest/gtest.h"
26 #include "ui/gl/gl_mock.h" 27 #include "ui/gl/gl_mock.h"
27 #include "ui/gl/gl_version_info.h" 28 #include "ui/gl/gl_version_info.h"
28 29
29 using ::testing::_; 30 using ::testing::_;
(...skipping 22 matching lines...) Expand all
52 static_cast<const uint8_t*>(start); 53 static_cast<const uint8_t*>(start);
53 } 54 }
54 55
55 } // namespace anonymous 56 } // namespace anonymous
56 57
57 class ProgramManagerTestBase : public GpuServiceTest { 58 class ProgramManagerTestBase : public GpuServiceTest {
58 protected: 59 protected:
59 virtual void SetupProgramManager() { 60 virtual void SetupProgramManager() {
60 manager_.reset(new ProgramManager(nullptr, kMaxVaryingVectors, 61 manager_.reset(new ProgramManager(nullptr, kMaxVaryingVectors,
61 kMaxDualSourceDrawBuffers, 62 kMaxDualSourceDrawBuffers,
63 gpu_preferences_,
62 feature_info_.get())); 64 feature_info_.get()));
63 } 65 }
64 void SetUpBase(const char* gl_version, 66 void SetUpBase(const char* gl_version,
65 const char* gl_extensions, 67 const char* gl_extensions,
66 FeatureInfo* feature_info = NULL) { 68 FeatureInfo* feature_info = nullptr) {
67 GpuServiceTest::SetUpWithGLVersion(gl_version, gl_extensions); 69 GpuServiceTest::SetUpWithGLVersion(gl_version, gl_extensions);
68 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( 70 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
69 gl_.get(), gl_extensions, "", gl_version); 71 gl_.get(), gl_extensions, "", gl_version);
70 if (!feature_info) 72 if (!feature_info)
71 feature_info = new FeatureInfo(); 73 feature_info = new FeatureInfo();
72 feature_info->InitializeForTesting(); 74 feature_info->InitializeForTesting();
73 feature_info_ = feature_info; 75 feature_info_ = feature_info;
74 SetupProgramManager(); 76 SetupProgramManager();
75 } 77 }
76 void SetUp() override { 78 void SetUp() override {
77 // Parameters same as GpuServiceTest::SetUp 79 // Parameters same as GpuServiceTest::SetUp
78 SetUpBase("2.0", "GL_EXT_framebuffer_object"); 80 SetUpBase("2.0", "GL_EXT_framebuffer_object");
79 } 81 }
80 void TearDown() override { 82 void TearDown() override {
81 manager_->Destroy(false); 83 manager_->Destroy(false);
82 manager_.reset(); 84 manager_.reset();
83 feature_info_ = nullptr; 85 feature_info_ = nullptr;
84 GpuServiceTest::TearDown(); 86 GpuServiceTest::TearDown();
85 } 87 }
86 88
87 scoped_ptr<ProgramManager> manager_; 89 scoped_ptr<ProgramManager> manager_;
90 GpuPreferences gpu_preferences_;
88 scoped_refptr<FeatureInfo> feature_info_; 91 scoped_refptr<FeatureInfo> feature_info_;
89 }; 92 };
90 93
91 class ProgramManagerTest : public ProgramManagerTestBase {}; 94 class ProgramManagerTest : public ProgramManagerTestBase {};
92 95
93 TEST_F(ProgramManagerTest, Basic) { 96 TEST_F(ProgramManagerTest, Basic) {
94 const GLuint kClient1Id = 1; 97 const GLuint kClient1Id = 1;
95 const GLuint kService1Id = 11; 98 const GLuint kService1Id = 11;
96 const GLuint kClient2Id = 2; 99 const GLuint kClient2Id = 2;
97 // Check we can create program. 100 // Check we can create program.
(...skipping 1843 matching lines...) Expand 10 before | Expand all | Expand 10 after
1941 : cache_(new MockProgramCache()), 1944 : cache_(new MockProgramCache()),
1942 vertex_shader_(NULL), 1945 vertex_shader_(NULL),
1943 fragment_shader_(NULL), 1946 fragment_shader_(NULL),
1944 program_(NULL) { 1947 program_(NULL) {
1945 } 1948 }
1946 1949
1947 protected: 1950 protected:
1948 void SetupProgramManager() override { 1951 void SetupProgramManager() override {
1949 manager_.reset(new ProgramManager(cache_.get(), kMaxVaryingVectors, 1952 manager_.reset(new ProgramManager(cache_.get(), kMaxVaryingVectors,
1950 kMaxDualSourceDrawBuffers, 1953 kMaxDualSourceDrawBuffers,
1954 gpu_preferences_,
1951 feature_info_.get())); 1955 feature_info_.get()));
1952 } 1956 }
1953 1957
1954 void SetUp() override { 1958 void SetUp() override {
1955 ProgramManagerTestBase::SetUp(); 1959 ProgramManagerTestBase::SetUp();
1956 1960
1957 vertex_shader_ = shader_manager_.CreateShader( 1961 vertex_shader_ = shader_manager_.CreateShader(
1958 kVertexShaderClientId, kVertexShaderServiceId, GL_VERTEX_SHADER); 1962 kVertexShaderClientId, kVertexShaderServiceId, GL_VERTEX_SHADER);
1959 fragment_shader_ = shader_manager_.CreateShader( 1963 fragment_shader_ = shader_manager_.CreateShader(
1960 kFragmentShaderClientId, kFragmentShaderServiceId, GL_FRAGMENT_SHADER); 1964 kFragmentShaderClientId, kFragmentShaderServiceId, GL_FRAGMENT_SHADER);
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
2393 ProgramManagerDualSourceBlendingES2Test, 2397 ProgramManagerDualSourceBlendingES2Test,
2394 testing::Values( 2398 testing::Values(
2395 make_gl_ext_tuple("3.2", 2399 make_gl_ext_tuple("3.2",
2396 "GL_ARB_draw_buffers GL_ARB_blend_func_extended " 2400 "GL_ARB_draw_buffers GL_ARB_blend_func_extended "
2397 "GL_ARB_program_interface_query"), 2401 "GL_ARB_program_interface_query"),
2398 make_gl_ext_tuple("opengl es 3.1", 2402 make_gl_ext_tuple("opengl es 3.1",
2399 "GL_EXT_draw_buffers GL_EXT_blend_func_extended"))); 2403 "GL_EXT_draw_buffers GL_EXT_blend_func_extended")));
2400 2404
2401 } // namespace gles2 2405 } // namespace gles2
2402 } // namespace gpu 2406 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/program_manager.cc ('k') | gpu/command_buffer/service/shader_translator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698