| 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 #ifndef GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ |
| 6 #define GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 public: | 57 public: |
| 58 ProgramCacheValue(GLsizei length, | 58 ProgramCacheValue(GLsizei length, |
| 59 GLenum format, | 59 GLenum format, |
| 60 const char* data, | 60 const char* data, |
| 61 const std::string& program_hash, | 61 const std::string& program_hash, |
| 62 const char* shader_0_hash, | 62 const char* shader_0_hash, |
| 63 const AttributeMap& attrib_map_0, | 63 const AttributeMap& attrib_map_0, |
| 64 const UniformMap& uniform_map_0, | 64 const UniformMap& uniform_map_0, |
| 65 const VaryingMap& varying_map_0, | 65 const VaryingMap& varying_map_0, |
| 66 const OutputVariableList& output_variable_list_0, | 66 const OutputVariableList& output_variable_list_0, |
| 67 const InterfaceBlockMap& interface_block_map_0, |
| 67 const char* shader_1_hash, | 68 const char* shader_1_hash, |
| 68 const AttributeMap& attrib_map_1, | 69 const AttributeMap& attrib_map_1, |
| 69 const UniformMap& uniform_map_1, | 70 const UniformMap& uniform_map_1, |
| 70 const VaryingMap& varying_map_1, | 71 const VaryingMap& varying_map_1, |
| 71 const OutputVariableList& output_variable_list_1, | 72 const OutputVariableList& output_variable_list_1, |
| 73 const InterfaceBlockMap& interface_block_map_1, |
| 72 MemoryProgramCache* program_cache); | 74 MemoryProgramCache* program_cache); |
| 73 | 75 |
| 74 GLsizei length() const { | 76 GLsizei length() const { |
| 75 return length_; | 77 return length_; |
| 76 } | 78 } |
| 77 | 79 |
| 78 GLenum format() const { | 80 GLenum format() const { |
| 79 return format_; | 81 return format_; |
| 80 } | 82 } |
| 81 | 83 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 96 } | 98 } |
| 97 | 99 |
| 98 const VaryingMap& varying_map_0() const { | 100 const VaryingMap& varying_map_0() const { |
| 99 return varying_map_0_; | 101 return varying_map_0_; |
| 100 } | 102 } |
| 101 | 103 |
| 102 const OutputVariableList& output_variable_list_0() const { | 104 const OutputVariableList& output_variable_list_0() const { |
| 103 return output_variable_list_0_; | 105 return output_variable_list_0_; |
| 104 } | 106 } |
| 105 | 107 |
| 108 const InterfaceBlockMap& interface_block_map_0() const { |
| 109 return interface_block_map_0_; |
| 110 } |
| 111 |
| 106 const std::string& shader_1_hash() const { | 112 const std::string& shader_1_hash() const { |
| 107 return shader_1_hash_; | 113 return shader_1_hash_; |
| 108 } | 114 } |
| 109 | 115 |
| 110 const AttributeMap& attrib_map_1() const { | 116 const AttributeMap& attrib_map_1() const { |
| 111 return attrib_map_1_; | 117 return attrib_map_1_; |
| 112 } | 118 } |
| 113 | 119 |
| 114 const UniformMap& uniform_map_1() const { | 120 const UniformMap& uniform_map_1() const { |
| 115 return uniform_map_1_; | 121 return uniform_map_1_; |
| 116 } | 122 } |
| 117 | 123 |
| 118 const VaryingMap& varying_map_1() const { | 124 const VaryingMap& varying_map_1() const { |
| 119 return varying_map_1_; | 125 return varying_map_1_; |
| 120 } | 126 } |
| 121 | 127 |
| 122 const OutputVariableList& output_variable_list_1() const { | 128 const OutputVariableList& output_variable_list_1() const { |
| 123 return output_variable_list_1_; | 129 return output_variable_list_1_; |
| 124 } | 130 } |
| 125 | 131 |
| 132 const InterfaceBlockMap& interface_block_map_1() const { |
| 133 return interface_block_map_1_; |
| 134 } |
| 135 |
| 126 private: | 136 private: |
| 127 friend class base::RefCounted<ProgramCacheValue>; | 137 friend class base::RefCounted<ProgramCacheValue>; |
| 128 | 138 |
| 129 ~ProgramCacheValue(); | 139 ~ProgramCacheValue(); |
| 130 | 140 |
| 131 const GLsizei length_; | 141 const GLsizei length_; |
| 132 const GLenum format_; | 142 const GLenum format_; |
| 133 const std::unique_ptr<const char[]> data_; | 143 const std::unique_ptr<const char[]> data_; |
| 134 const std::string program_hash_; | 144 const std::string program_hash_; |
| 135 const std::string shader_0_hash_; | 145 const std::string shader_0_hash_; |
| 136 const AttributeMap attrib_map_0_; | 146 const AttributeMap attrib_map_0_; |
| 137 const UniformMap uniform_map_0_; | 147 const UniformMap uniform_map_0_; |
| 138 const VaryingMap varying_map_0_; | 148 const VaryingMap varying_map_0_; |
| 139 const OutputVariableList output_variable_list_0_; | 149 const OutputVariableList output_variable_list_0_; |
| 150 const InterfaceBlockMap interface_block_map_0_; |
| 140 const std::string shader_1_hash_; | 151 const std::string shader_1_hash_; |
| 141 const AttributeMap attrib_map_1_; | 152 const AttributeMap attrib_map_1_; |
| 142 const UniformMap uniform_map_1_; | 153 const UniformMap uniform_map_1_; |
| 143 const VaryingMap varying_map_1_; | 154 const VaryingMap varying_map_1_; |
| 144 const OutputVariableList output_variable_list_1_; | 155 const OutputVariableList output_variable_list_1_; |
| 156 const InterfaceBlockMap interface_block_map_1_; |
| 145 MemoryProgramCache* const program_cache_; | 157 MemoryProgramCache* const program_cache_; |
| 146 | 158 |
| 147 DISALLOW_COPY_AND_ASSIGN(ProgramCacheValue); | 159 DISALLOW_COPY_AND_ASSIGN(ProgramCacheValue); |
| 148 }; | 160 }; |
| 149 | 161 |
| 150 friend class ProgramCacheValue; | 162 friend class ProgramCacheValue; |
| 151 | 163 |
| 152 typedef base::MRUCache<std::string, | 164 typedef base::MRUCache<std::string, |
| 153 scoped_refptr<ProgramCacheValue> > ProgramMRUCache; | 165 scoped_refptr<ProgramCacheValue> > ProgramMRUCache; |
| 154 | 166 |
| 155 const size_t max_size_bytes_; | 167 const size_t max_size_bytes_; |
| 156 const bool disable_gpu_shader_disk_cache_; | 168 const bool disable_gpu_shader_disk_cache_; |
| 157 size_t curr_size_bytes_; | 169 size_t curr_size_bytes_; |
| 158 ProgramMRUCache store_; | 170 ProgramMRUCache store_; |
| 159 | 171 |
| 160 DISALLOW_COPY_AND_ASSIGN(MemoryProgramCache); | 172 DISALLOW_COPY_AND_ASSIGN(MemoryProgramCache); |
| 161 }; | 173 }; |
| 162 | 174 |
| 163 } // namespace gles2 | 175 } // namespace gles2 |
| 164 } // namespace gpu | 176 } // namespace gpu |
| 165 | 177 |
| 166 #endif // GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ | 178 #endif // GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ |
| OLD | NEW |