| 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 <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 class ProgramCacheValue : public base::RefCounted<ProgramCacheValue> { | 50 class ProgramCacheValue : public base::RefCounted<ProgramCacheValue> { |
| 51 public: | 51 public: |
| 52 ProgramCacheValue(GLsizei length, | 52 ProgramCacheValue(GLsizei length, |
| 53 GLenum format, | 53 GLenum format, |
| 54 const char* data, | 54 const char* data, |
| 55 const std::string& program_hash, | 55 const std::string& program_hash, |
| 56 const char* shader_0_hash, | 56 const char* shader_0_hash, |
| 57 const AttributeMap& attrib_map_0, | 57 const AttributeMap& attrib_map_0, |
| 58 const UniformMap& uniform_map_0, | 58 const UniformMap& uniform_map_0, |
| 59 const VaryingMap& varying_map_0, | 59 const VaryingMap& varying_map_0, |
| 60 const AttributeList& output_variable_list_0, |
| 60 const char* shader_1_hash, | 61 const char* shader_1_hash, |
| 61 const AttributeMap& attrib_map_1, | 62 const AttributeMap& attrib_map_1, |
| 62 const UniformMap& uniform_map_1, | 63 const UniformMap& uniform_map_1, |
| 63 const VaryingMap& varying_map_1, | 64 const VaryingMap& varying_map_1, |
| 65 const AttributeList& output_variable_list_1, |
| 64 MemoryProgramCache* program_cache); | 66 MemoryProgramCache* program_cache); |
| 65 | 67 |
| 66 GLsizei length() const { | 68 GLsizei length() const { |
| 67 return length_; | 69 return length_; |
| 68 } | 70 } |
| 69 | 71 |
| 70 GLenum format() const { | 72 GLenum format() const { |
| 71 return format_; | 73 return format_; |
| 72 } | 74 } |
| 73 | 75 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 84 } | 86 } |
| 85 | 87 |
| 86 const UniformMap& uniform_map_0() const { | 88 const UniformMap& uniform_map_0() const { |
| 87 return uniform_map_0_; | 89 return uniform_map_0_; |
| 88 } | 90 } |
| 89 | 91 |
| 90 const VaryingMap& varying_map_0() const { | 92 const VaryingMap& varying_map_0() const { |
| 91 return varying_map_0_; | 93 return varying_map_0_; |
| 92 } | 94 } |
| 93 | 95 |
| 96 const AttributeList& output_variable_list_0() const { |
| 97 return output_variable_list_0_; |
| 98 } |
| 99 |
| 94 const std::string& shader_1_hash() const { | 100 const std::string& shader_1_hash() const { |
| 95 return shader_1_hash_; | 101 return shader_1_hash_; |
| 96 } | 102 } |
| 97 | 103 |
| 98 const AttributeMap& attrib_map_1() const { | 104 const AttributeMap& attrib_map_1() const { |
| 99 return attrib_map_1_; | 105 return attrib_map_1_; |
| 100 } | 106 } |
| 101 | 107 |
| 102 const UniformMap& uniform_map_1() const { | 108 const UniformMap& uniform_map_1() const { |
| 103 return uniform_map_1_; | 109 return uniform_map_1_; |
| 104 } | 110 } |
| 105 | 111 |
| 106 const VaryingMap& varying_map_1() const { | 112 const VaryingMap& varying_map_1() const { |
| 107 return varying_map_1_; | 113 return varying_map_1_; |
| 108 } | 114 } |
| 109 | 115 |
| 116 const AttributeList& output_variable_list_1() const { |
| 117 return output_variable_list_1_; |
| 118 } |
| 119 |
| 110 private: | 120 private: |
| 111 friend class base::RefCounted<ProgramCacheValue>; | 121 friend class base::RefCounted<ProgramCacheValue>; |
| 112 | 122 |
| 113 ~ProgramCacheValue(); | 123 ~ProgramCacheValue(); |
| 114 | 124 |
| 115 const GLsizei length_; | 125 const GLsizei length_; |
| 116 const GLenum format_; | 126 const GLenum format_; |
| 117 const scoped_ptr<const char[]> data_; | 127 const scoped_ptr<const char[]> data_; |
| 118 const std::string program_hash_; | 128 const std::string program_hash_; |
| 119 const std::string shader_0_hash_; | 129 const std::string shader_0_hash_; |
| 120 const AttributeMap attrib_map_0_; | 130 const AttributeMap attrib_map_0_; |
| 121 const UniformMap uniform_map_0_; | 131 const UniformMap uniform_map_0_; |
| 122 const VaryingMap varying_map_0_; | 132 const VaryingMap varying_map_0_; |
| 133 const AttributeList output_variable_list_0_; |
| 123 const std::string shader_1_hash_; | 134 const std::string shader_1_hash_; |
| 124 const AttributeMap attrib_map_1_; | 135 const AttributeMap attrib_map_1_; |
| 125 const UniformMap uniform_map_1_; | 136 const UniformMap uniform_map_1_; |
| 126 const VaryingMap varying_map_1_; | 137 const VaryingMap varying_map_1_; |
| 138 const AttributeList output_variable_list_1_; |
| 127 MemoryProgramCache* const program_cache_; | 139 MemoryProgramCache* const program_cache_; |
| 128 | 140 |
| 129 DISALLOW_COPY_AND_ASSIGN(ProgramCacheValue); | 141 DISALLOW_COPY_AND_ASSIGN(ProgramCacheValue); |
| 130 }; | 142 }; |
| 131 | 143 |
| 132 friend class ProgramCacheValue; | 144 friend class ProgramCacheValue; |
| 133 | 145 |
| 134 typedef base::MRUCache<std::string, | 146 typedef base::MRUCache<std::string, |
| 135 scoped_refptr<ProgramCacheValue> > ProgramMRUCache; | 147 scoped_refptr<ProgramCacheValue> > ProgramMRUCache; |
| 136 | 148 |
| 137 const size_t max_size_bytes_; | 149 const size_t max_size_bytes_; |
| 138 size_t curr_size_bytes_; | 150 size_t curr_size_bytes_; |
| 139 ProgramMRUCache store_; | 151 ProgramMRUCache store_; |
| 140 | 152 |
| 141 DISALLOW_COPY_AND_ASSIGN(MemoryProgramCache); | 153 DISALLOW_COPY_AND_ASSIGN(MemoryProgramCache); |
| 142 }; | 154 }; |
| 143 | 155 |
| 144 } // namespace gles2 | 156 } // namespace gles2 |
| 145 } // namespace gpu | 157 } // namespace gpu |
| 146 | 158 |
| 147 #endif // GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ | 159 #endif // GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ |
| OLD | NEW |