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

Side by Side Diff: gpu/command_buffer/service/memory_program_cache.h

Issue 619723008: Switch to use ANGLE's new APIs to query shader variables. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: win build fix Created 6 years, 2 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 #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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 private: 48 private:
49 virtual void ClearBackend() override; 49 virtual void ClearBackend() override;
50 50
51 class ProgramCacheValue : public base::RefCounted<ProgramCacheValue> { 51 class ProgramCacheValue : public base::RefCounted<ProgramCacheValue> {
52 public: 52 public:
53 ProgramCacheValue(GLsizei length, 53 ProgramCacheValue(GLsizei length,
54 GLenum format, 54 GLenum format,
55 const char* data, 55 const char* data,
56 const std::string& program_hash, 56 const std::string& program_hash,
57 const char* shader_0_hash, 57 const char* shader_0_hash,
58 const ShaderTranslator::VariableMap& attrib_map_0, 58 const AttributeMap& attrib_map_0,
59 const ShaderTranslator::VariableMap& uniform_map_0, 59 const UniformMap& uniform_map_0,
60 const ShaderTranslator::VariableMap& varying_map_0, 60 const VaryingMap& varying_map_0,
61 const char* shader_1_hash, 61 const char* shader_1_hash,
62 const ShaderTranslator::VariableMap& attrib_map_1, 62 const AttributeMap& attrib_map_1,
63 const ShaderTranslator::VariableMap& uniform_map_1, 63 const UniformMap& uniform_map_1,
64 const ShaderTranslator::VariableMap& varying_map_1, 64 const VaryingMap& varying_map_1,
65 MemoryProgramCache* program_cache); 65 MemoryProgramCache* program_cache);
66 66
67 GLsizei length() const { 67 GLsizei length() const {
68 return length_; 68 return length_;
69 } 69 }
70 70
71 GLenum format() const { 71 GLenum format() const {
72 return format_; 72 return format_;
73 } 73 }
74 74
75 const char* data() const { 75 const char* data() const {
76 return data_.get(); 76 return data_.get();
77 } 77 }
78 78
79 const std::string& shader_0_hash() const { 79 const std::string& shader_0_hash() const {
80 return shader_0_hash_; 80 return shader_0_hash_;
81 } 81 }
82 82
83 const ShaderTranslator::VariableMap& attrib_map_0() const { 83 const AttributeMap& attrib_map_0() const {
84 return attrib_map_0_; 84 return attrib_map_0_;
85 } 85 }
86 86
87 const ShaderTranslator::VariableMap& uniform_map_0() const { 87 const UniformMap& uniform_map_0() const {
88 return uniform_map_0_; 88 return uniform_map_0_;
89 } 89 }
90 90
91 const ShaderTranslator::VariableMap& varying_map_0() const { 91 const VaryingMap& varying_map_0() const {
92 return varying_map_0_; 92 return varying_map_0_;
93 } 93 }
94 94
95 const std::string& shader_1_hash() const { 95 const std::string& shader_1_hash() const {
96 return shader_1_hash_; 96 return shader_1_hash_;
97 } 97 }
98 98
99 const ShaderTranslator::VariableMap& attrib_map_1() const { 99 const AttributeMap& attrib_map_1() const {
100 return attrib_map_1_; 100 return attrib_map_1_;
101 } 101 }
102 102
103 const ShaderTranslator::VariableMap& uniform_map_1() const { 103 const UniformMap& uniform_map_1() const {
104 return uniform_map_1_; 104 return uniform_map_1_;
105 } 105 }
106 106
107 const ShaderTranslator::VariableMap& varying_map_1() const { 107 const VaryingMap& varying_map_1() const {
108 return varying_map_1_; 108 return varying_map_1_;
109 } 109 }
110 110
111 private: 111 private:
112 friend class base::RefCounted<ProgramCacheValue>; 112 friend class base::RefCounted<ProgramCacheValue>;
113 113
114 ~ProgramCacheValue(); 114 ~ProgramCacheValue();
115 115
116 const GLsizei length_; 116 const GLsizei length_;
117 const GLenum format_; 117 const GLenum format_;
118 const scoped_ptr<const char[]> data_; 118 const scoped_ptr<const char[]> data_;
119 const std::string program_hash_; 119 const std::string program_hash_;
120 const std::string shader_0_hash_; 120 const std::string shader_0_hash_;
121 const ShaderTranslator::VariableMap attrib_map_0_; 121 const AttributeMap attrib_map_0_;
122 const ShaderTranslator::VariableMap uniform_map_0_; 122 const UniformMap uniform_map_0_;
123 const ShaderTranslator::VariableMap varying_map_0_; 123 const VaryingMap varying_map_0_;
124 const std::string shader_1_hash_; 124 const std::string shader_1_hash_;
125 const ShaderTranslator::VariableMap attrib_map_1_; 125 const AttributeMap attrib_map_1_;
126 const ShaderTranslator::VariableMap uniform_map_1_; 126 const UniformMap uniform_map_1_;
127 const ShaderTranslator::VariableMap varying_map_1_; 127 const VaryingMap varying_map_1_;
128 MemoryProgramCache* const program_cache_; 128 MemoryProgramCache* const program_cache_;
129 129
130 DISALLOW_COPY_AND_ASSIGN(ProgramCacheValue); 130 DISALLOW_COPY_AND_ASSIGN(ProgramCacheValue);
131 }; 131 };
132 132
133 friend class ProgramCacheValue; 133 friend class ProgramCacheValue;
134 134
135 typedef base::MRUCache<std::string, 135 typedef base::MRUCache<std::string,
136 scoped_refptr<ProgramCacheValue> > ProgramMRUCache; 136 scoped_refptr<ProgramCacheValue> > ProgramMRUCache;
137 137
138 const size_t max_size_bytes_; 138 const size_t max_size_bytes_;
139 size_t curr_size_bytes_; 139 size_t curr_size_bytes_;
140 ProgramMRUCache store_; 140 ProgramMRUCache store_;
141 141
142 DISALLOW_COPY_AND_ASSIGN(MemoryProgramCache); 142 DISALLOW_COPY_AND_ASSIGN(MemoryProgramCache);
143 }; 143 };
144 144
145 } // namespace gles2 145 } // namespace gles2
146 } // namespace gpu 146 } // namespace gpu
147 147
148 #endif // GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_ 148 #endif // GPU_COMMAND_BUFFER_SERVICE_MEMORY_PROGRAM_CACHE_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/disk_cache_proto.proto ('k') | gpu/command_buffer/service/memory_program_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698