OLD | NEW |
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 <stddef.h> |
| 8 #include <stdint.h> |
| 9 |
7 #include "base/bind.h" | 10 #include "base/bind.h" |
8 #include "gpu/command_buffer/common/gles2_cmd_format.h" | 11 #include "gpu/command_buffer/common/gles2_cmd_format.h" |
9 #include "gpu/command_buffer/service/gl_utils.h" | 12 #include "gpu/command_buffer/service/gl_utils.h" |
10 #include "gpu/command_buffer/service/gpu_service_test.h" | 13 #include "gpu/command_buffer/service/gpu_service_test.h" |
11 #include "gpu/command_buffer/service/shader_manager.h" | 14 #include "gpu/command_buffer/service/shader_manager.h" |
12 #include "gpu/command_buffer/service/shader_translator.h" | 15 #include "gpu/command_buffer/service/shader_translator.h" |
13 #include "gpu/command_buffer/service/test_helper.h" | 16 #include "gpu/command_buffer/service/test_helper.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
15 #include "ui/gl/gl_bindings.h" | 18 #include "ui/gl/gl_bindings.h" |
16 #include "ui/gl/gl_mock.h" | 19 #include "ui/gl/gl_mock.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 vertex_shader_(NULL), | 77 vertex_shader_(NULL), |
75 fragment_shader_(NULL), | 78 fragment_shader_(NULL), |
76 shader_cache_count_(0) { } | 79 shader_cache_count_(0) { } |
77 ~MemoryProgramCacheTest() override { shader_manager_.Destroy(false); } | 80 ~MemoryProgramCacheTest() override { shader_manager_.Destroy(false); } |
78 | 81 |
79 void ShaderCacheCb(const std::string& key, const std::string& shader) { | 82 void ShaderCacheCb(const std::string& key, const std::string& shader) { |
80 shader_cache_count_++; | 83 shader_cache_count_++; |
81 shader_cache_shader_ = shader; | 84 shader_cache_shader_ = shader; |
82 } | 85 } |
83 | 86 |
84 int32 shader_cache_count() { return shader_cache_count_; } | 87 int32_t shader_cache_count() { return shader_cache_count_; } |
85 const std::string& shader_cache_shader() { return shader_cache_shader_; } | 88 const std::string& shader_cache_shader() { return shader_cache_shader_; } |
86 | 89 |
87 protected: | 90 protected: |
88 void SetUp() override { | 91 void SetUp() override { |
89 GpuServiceTest::SetUpWithGLVersion("3.0", "GL_ARB_get_program_binary"); | 92 GpuServiceTest::SetUpWithGLVersion("3.0", "GL_ARB_get_program_binary"); |
90 | 93 |
91 vertex_shader_ = shader_manager_.CreateShader(kVertexShaderClientId, | 94 vertex_shader_ = shader_manager_.CreateShader(kVertexShaderClientId, |
92 kVertexShaderServiceId, | 95 kVertexShaderServiceId, |
93 GL_VERTEX_SHADER); | 96 GL_VERTEX_SHADER); |
94 fragment_shader_ = shader_manager_.CreateShader( | 97 fragment_shader_ = shader_manager_.CreateShader( |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 .WillOnce(Invoke(emulator, &ProgramBinaryEmulator::ProgramBinary)); | 177 .WillOnce(Invoke(emulator, &ProgramBinaryEmulator::ProgramBinary)); |
175 EXPECT_CALL(*gl_.get(), | 178 EXPECT_CALL(*gl_.get(), |
176 GetProgramiv(program_id, GL_LINK_STATUS, _)) | 179 GetProgramiv(program_id, GL_LINK_STATUS, _)) |
177 .WillOnce(SetArgPointee<2>(GL_FALSE)); | 180 .WillOnce(SetArgPointee<2>(GL_FALSE)); |
178 } | 181 } |
179 | 182 |
180 scoped_ptr<MemoryProgramCache> cache_; | 183 scoped_ptr<MemoryProgramCache> cache_; |
181 ShaderManager shader_manager_; | 184 ShaderManager shader_manager_; |
182 Shader* vertex_shader_; | 185 Shader* vertex_shader_; |
183 Shader* fragment_shader_; | 186 Shader* fragment_shader_; |
184 int32 shader_cache_count_; | 187 int32_t shader_cache_count_; |
185 std::string shader_cache_shader_; | 188 std::string shader_cache_shader_; |
186 std::vector<std::string> varyings_; | 189 std::vector<std::string> varyings_; |
187 }; | 190 }; |
188 | 191 |
189 TEST_F(MemoryProgramCacheTest, CacheSave) { | 192 TEST_F(MemoryProgramCacheTest, CacheSave) { |
190 const GLenum kFormat = 1; | 193 const GLenum kFormat = 1; |
191 const int kProgramId = 10; | 194 const int kProgramId = 10; |
192 const int kBinaryLength = 20; | 195 const int kBinaryLength = 20; |
193 char test_binary[kBinaryLength]; | 196 char test_binary[kBinaryLength]; |
194 for (int i = 0; i < kBinaryLength; ++i) { | 197 for (int i = 0; i < kBinaryLength; ++i) { |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 fragment_shader_, | 680 fragment_shader_, |
678 NULL, | 681 NULL, |
679 varyings_, | 682 varyings_, |
680 GL_NONE, | 683 GL_NONE, |
681 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, | 684 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, |
682 base::Unretained(this)))); | 685 base::Unretained(this)))); |
683 } | 686 } |
684 | 687 |
685 } // namespace gles2 | 688 } // namespace gles2 |
686 } // namespace gpu | 689 } // namespace gpu |
OLD | NEW |