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

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

Issue 331293005: Revert of gpu: Add base class for gpu service tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
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/memory_program_cache.h" 5 #include "gpu/command_buffer/service/memory_program_cache.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "gpu/command_buffer/common/gles2_cmd_format.h" 8 #include "gpu/command_buffer/common/gles2_cmd_format.h"
9 #include "gpu/command_buffer/service/gl_utils.h" 9 #include "gpu/command_buffer/service/gl_utils.h"
10 #include "gpu/command_buffer/service/gpu_service_test.h"
11 #include "gpu/command_buffer/service/shader_manager.h" 10 #include "gpu/command_buffer/service/shader_manager.h"
12 #include "gpu/command_buffer/service/shader_translator.h" 11 #include "gpu/command_buffer/service/shader_translator.h"
13 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
14 #include "ui/gl/gl_bindings.h" 13 #include "ui/gl/gl_bindings.h"
15 #include "ui/gl/gl_mock.h" 14 #include "ui/gl/gl_mock.h"
16 15
17 using ::testing::_; 16 using ::testing::_;
18 using ::testing::ElementsAreArray; 17 using ::testing::ElementsAreArray;
19 using ::testing::Invoke; 18 using ::testing::Invoke;
20 using ::testing::SetArgPointee; 19 using ::testing::SetArgPointee;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 GLsizei length() const { return length_; } 58 GLsizei length() const { return length_; }
60 GLenum format() const { return format_; } 59 GLenum format() const { return format_; }
61 const char* binary() const { return binary_; } 60 const char* binary() const { return binary_; }
62 61
63 private: 62 private:
64 GLsizei length_; 63 GLsizei length_;
65 GLenum format_; 64 GLenum format_;
66 const char* binary_; 65 const char* binary_;
67 }; 66 };
68 67
69 class MemoryProgramCacheTest : public GpuServiceTest { 68 class MemoryProgramCacheTest : public testing::Test {
70 public: 69 public:
71 static const size_t kCacheSizeBytes = 1024; 70 static const size_t kCacheSizeBytes = 1024;
72 static const GLuint kVertexShaderClientId = 90; 71 static const GLuint kVertexShaderClientId = 90;
73 static const GLuint kVertexShaderServiceId = 100; 72 static const GLuint kVertexShaderServiceId = 100;
74 static const GLuint kFragmentShaderClientId = 91; 73 static const GLuint kFragmentShaderClientId = 91;
75 static const GLuint kFragmentShaderServiceId = 100; 74 static const GLuint kFragmentShaderServiceId = 100;
76 75
77 MemoryProgramCacheTest() 76 MemoryProgramCacheTest()
78 : cache_(new MemoryProgramCache(kCacheSizeBytes)), 77 : cache_(new MemoryProgramCache(kCacheSizeBytes)),
79 vertex_shader_(NULL), 78 vertex_shader_(NULL),
80 fragment_shader_(NULL), 79 fragment_shader_(NULL),
81 shader_cache_count_(0) { } 80 shader_cache_count_(0) { }
82 virtual ~MemoryProgramCacheTest() { 81 virtual ~MemoryProgramCacheTest() {
83 shader_manager_.Destroy(false); 82 shader_manager_.Destroy(false);
84 } 83 }
85 84
86 void ShaderCacheCb(const std::string& key, const std::string& shader) { 85 void ShaderCacheCb(const std::string& key, const std::string& shader) {
87 shader_cache_count_++; 86 shader_cache_count_++;
88 shader_cache_shader_ = shader; 87 shader_cache_shader_ = shader;
89 } 88 }
90 89
91 int32 shader_cache_count() { return shader_cache_count_; } 90 int32 shader_cache_count() { return shader_cache_count_; }
92 const std::string& shader_cache_shader() { return shader_cache_shader_; } 91 const std::string& shader_cache_shader() { return shader_cache_shader_; }
93 92
94 protected: 93 protected:
95 virtual void SetUp() { 94 virtual void SetUp() {
96 GpuServiceTest::SetUp(); 95 gl_.reset(new ::testing::StrictMock<gfx::MockGLInterface>());
96 ::gfx::MockGLInterface::SetGLInterface(gl_.get());
97 97
98 vertex_shader_ = shader_manager_.CreateShader(kVertexShaderClientId, 98 vertex_shader_ = shader_manager_.CreateShader(kVertexShaderClientId,
99 kVertexShaderServiceId, 99 kVertexShaderServiceId,
100 GL_VERTEX_SHADER); 100 GL_VERTEX_SHADER);
101 fragment_shader_ = shader_manager_.CreateShader( 101 fragment_shader_ = shader_manager_.CreateShader(
102 kFragmentShaderClientId, 102 kFragmentShaderClientId,
103 kFragmentShaderServiceId, 103 kFragmentShaderServiceId,
104 GL_FRAGMENT_SHADER); 104 GL_FRAGMENT_SHADER);
105 ASSERT_TRUE(vertex_shader_ != NULL); 105 ASSERT_TRUE(vertex_shader_ != NULL);
106 ASSERT_TRUE(fragment_shader_ != NULL); 106 ASSERT_TRUE(fragment_shader_ != NULL);
(...skipping 23 matching lines...) Expand all
130 fragment_shader_->set_uniform_map(vertex_uniform_map); 130 fragment_shader_->set_uniform_map(vertex_uniform_map);
131 fragment_shader_->set_varying_map(vertex_varying_map); 131 fragment_shader_->set_varying_map(vertex_varying_map);
132 132
133 vertex_shader_->UpdateSource("bbbalsldkdkdkd"); 133 vertex_shader_->UpdateSource("bbbalsldkdkdkd");
134 fragment_shader_->UpdateSource("bbbal sldkdkdkas 134 ad"); 134 fragment_shader_->UpdateSource("bbbal sldkdkdkas 134 ad");
135 135
136 vertex_shader_->SetStatus(true, NULL, NULL); 136 vertex_shader_->SetStatus(true, NULL, NULL);
137 fragment_shader_->SetStatus(true, NULL, NULL); 137 fragment_shader_->SetStatus(true, NULL, NULL);
138 } 138 }
139 139
140 virtual void TearDown() {
141 ::gfx::MockGLInterface::SetGLInterface(NULL);
142 gl_.reset();
143 }
144
140 void SetExpectationsForSaveLinkedProgram( 145 void SetExpectationsForSaveLinkedProgram(
141 const GLint program_id, 146 const GLint program_id,
142 ProgramBinaryEmulator* emulator) const { 147 ProgramBinaryEmulator* emulator) const {
143 EXPECT_CALL(*gl_.get(), 148 EXPECT_CALL(*gl_.get(),
144 GetProgramiv(program_id, GL_PROGRAM_BINARY_LENGTH_OES, _)) 149 GetProgramiv(program_id, GL_PROGRAM_BINARY_LENGTH_OES, _))
145 .WillOnce(SetArgPointee<2>(emulator->length())); 150 .WillOnce(SetArgPointee<2>(emulator->length()));
146 EXPECT_CALL(*gl_.get(), 151 EXPECT_CALL(*gl_.get(),
147 GetProgramBinary(program_id, emulator->length(), _, _, _)) 152 GetProgramBinary(program_id, emulator->length(), _, _, _))
148 .WillOnce(Invoke(emulator, &ProgramBinaryEmulator::GetProgramBinary)); 153 .WillOnce(Invoke(emulator, &ProgramBinaryEmulator::GetProgramBinary));
149 } 154 }
(...skipping 19 matching lines...) Expand all
169 ProgramBinary(program_id, 174 ProgramBinary(program_id,
170 emulator->format(), 175 emulator->format(),
171 _, 176 _,
172 emulator->length())) 177 emulator->length()))
173 .WillOnce(Invoke(emulator, &ProgramBinaryEmulator::ProgramBinary)); 178 .WillOnce(Invoke(emulator, &ProgramBinaryEmulator::ProgramBinary));
174 EXPECT_CALL(*gl_.get(), 179 EXPECT_CALL(*gl_.get(),
175 GetProgramiv(program_id, GL_LINK_STATUS, _)) 180 GetProgramiv(program_id, GL_LINK_STATUS, _))
176 .WillOnce(SetArgPointee<2>(GL_FALSE)); 181 .WillOnce(SetArgPointee<2>(GL_FALSE));
177 } 182 }
178 183
184 // Use StrictMock to make 100% sure we know how GL will be called.
185 scoped_ptr< ::testing::StrictMock<gfx::MockGLInterface> > gl_;
179 scoped_ptr<MemoryProgramCache> cache_; 186 scoped_ptr<MemoryProgramCache> cache_;
180 ShaderManager shader_manager_; 187 ShaderManager shader_manager_;
181 Shader* vertex_shader_; 188 Shader* vertex_shader_;
182 Shader* fragment_shader_; 189 Shader* fragment_shader_;
183 int32 shader_cache_count_; 190 int32 shader_cache_count_;
184 std::string shader_cache_shader_; 191 std::string shader_cache_shader_;
185 }; 192 };
186 193
187 TEST_F(MemoryProgramCacheTest, CacheSave) { 194 TEST_F(MemoryProgramCacheTest, CacheSave) {
188 const GLenum kFormat = 1; 195 const GLenum kFormat = 1;
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 NULL, 636 NULL,
630 fragment_shader_, 637 fragment_shader_,
631 NULL, 638 NULL,
632 NULL, 639 NULL,
633 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 640 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
634 base::Unretained(this)))); 641 base::Unretained(this))));
635 } 642 }
636 643
637 } // namespace gles2 644 } // namespace gles2
638 } // namespace gpu 645 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/mailbox_manager_unittest.cc ('k') | gpu/command_buffer/service/program_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698