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

Side by Side Diff: gpu/command_buffer/client/program_info_manager.h

Issue 1309743005: command_buffer: Implement EXT_blend_func_extended (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@new-05-path-fragment-input-gen
Patch Set: ~ Created 5 years, 3 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_CLIENT_PROGRAM_INFO_MANAGER_H_ 5 #ifndef GPU_COMMAND_BUFFER_CLIENT_PROGRAM_INFO_MANAGER_H_
6 #define GPU_COMMAND_BUFFER_CLIENT_PROGRAM_INFO_MANAGER_H_ 6 #define GPU_COMMAND_BUFFER_CLIENT_PROGRAM_INFO_MANAGER_H_
7 7
8 #include <GLES3/gl3.h> 8 #include <GLES3/gl3.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 20 matching lines...) Expand all
31 31
32 bool GetProgramiv( 32 bool GetProgramiv(
33 GLES2Implementation* gl, GLuint program, GLenum pname, GLint* params); 33 GLES2Implementation* gl, GLuint program, GLenum pname, GLint* params);
34 34
35 GLint GetAttribLocation( 35 GLint GetAttribLocation(
36 GLES2Implementation* gl, GLuint program, const char* name); 36 GLES2Implementation* gl, GLuint program, const char* name);
37 37
38 GLint GetUniformLocation( 38 GLint GetUniformLocation(
39 GLES2Implementation* gl, GLuint program, const char* name); 39 GLES2Implementation* gl, GLuint program, const char* name);
40 40
41 GLint GetFragDataIndex(GLES2Implementation* gl,
42 GLuint program,
43 const char* name);
44
41 GLint GetFragDataLocation( 45 GLint GetFragDataLocation(
42 GLES2Implementation* gl, GLuint program, const char* name); 46 GLES2Implementation* gl, GLuint program, const char* name);
43 47
44 bool GetActiveAttrib( 48 bool GetActiveAttrib(
45 GLES2Implementation* gl, GLuint program, GLuint index, GLsizei bufsize, 49 GLES2Implementation* gl, GLuint program, GLuint index, GLsizei bufsize,
46 GLsizei* length, GLint* size, GLenum* type, char* name); 50 GLsizei* length, GLint* size, GLenum* type, char* name);
47 51
48 bool GetActiveUniform( 52 bool GetActiveUniform(
49 GLES2Implementation* gl, GLuint program, GLuint index, GLsizei bufsize, 53 GLES2Implementation* gl, GLuint program, GLuint index, GLsizei bufsize,
50 GLsizei* length, GLint* size, GLenum* type, char* name); 54 GLsizei* length, GLint* size, GLenum* type, char* name);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 const UniformInfo* GetUniformInfo(GLint index) const; 163 const UniformInfo* GetUniformInfo(GLint index) const;
160 164
161 // Gets the location of a uniform by name. 165 // Gets the location of a uniform by name.
162 GLint GetUniformLocation(const std::string& name) const; 166 GLint GetUniformLocation(const std::string& name) const;
163 // Gets the index of a uniform by name. Return INVALID_INDEX in failure. 167 // Gets the index of a uniform by name. Return INVALID_INDEX in failure.
164 GLuint GetUniformIndex(const std::string& name) const; 168 GLuint GetUniformIndex(const std::string& name) const;
165 169
166 bool GetUniformsiv( 170 bool GetUniformsiv(
167 GLsizei count, const GLuint* indices, GLenum pname, GLint* params); 171 GLsizei count, const GLuint* indices, GLenum pname, GLint* params);
168 172
173 GLint GetFragDataIndex(const std::string& name) const;
174 void CacheFragDataIndex(const std::string& name, GLint index);
175
169 GLint GetFragDataLocation(const std::string& name) const; 176 GLint GetFragDataLocation(const std::string& name) const;
170 void CacheFragDataLocation(const std::string& name, GLint loc); 177 void CacheFragDataLocation(const std::string& name, GLint loc);
171 178
172 bool GetProgramiv(GLenum pname, GLint* params); 179 bool GetProgramiv(GLenum pname, GLint* params);
173 180
174 // Gets the index of a uniform block by name. 181 // Gets the index of a uniform block by name.
175 GLuint GetUniformBlockIndex(const std::string& name) const; 182 GLuint GetUniformBlockIndex(const std::string& name) const;
176 const UniformBlock* GetUniformBlock(GLuint index) const; 183 const UniformBlock* GetUniformBlock(GLuint index) const;
177 // Update the binding if the |index| uniform block is in the cache. 184 // Update the binding if the |index| uniform block is in the cache.
178 void UniformBlockBinding(GLuint index, GLuint binding); 185 void UniformBlockBinding(GLuint index, GLuint binding);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 uint32_t transform_feedback_varying_max_length_; 231 uint32_t transform_feedback_varying_max_length_;
225 232
226 // TransformFeedback varyings by index. 233 // TransformFeedback varyings by index.
227 std::vector<TransformFeedbackVarying> transform_feedback_varyings_; 234 std::vector<TransformFeedbackVarying> transform_feedback_varyings_;
228 235
229 bool cached_es3_uniformsiv_; 236 bool cached_es3_uniformsiv_;
230 237
231 std::vector<UniformES3> uniforms_es3_; 238 std::vector<UniformES3> uniforms_es3_;
232 239
233 base::hash_map<std::string, GLint> frag_data_locations_; 240 base::hash_map<std::string, GLint> frag_data_locations_;
241 base::hash_map<std::string, GLint> frag_data_indices_;
234 }; 242 };
235 243
236 Program* GetProgramInfo( 244 Program* GetProgramInfo(
237 GLES2Implementation* gl, GLuint program, ProgramInfoType type); 245 GLES2Implementation* gl, GLuint program, ProgramInfoType type);
238 246
239 typedef base::hash_map<GLuint, Program> ProgramInfoMap; 247 typedef base::hash_map<GLuint, Program> ProgramInfoMap;
240 248
241 ProgramInfoMap program_infos_; 249 ProgramInfoMap program_infos_;
242 250
243 mutable base::Lock lock_; 251 mutable base::Lock lock_;
244 }; 252 };
245 253
246 } // namespace gles2 254 } // namespace gles2
247 } // namespace gpu 255 } // namespace gpu
248 256
249 #endif // GPU_COMMAND_BUFFER_CLIENT_PROGRAM_INFO_MANAGER_H_ 257 #endif // GPU_COMMAND_BUFFER_CLIENT_PROGRAM_INFO_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698