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

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

Issue 7358006: Cache OpenGL program info on the client side of the command buffer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix warnings Created 9 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_GLES2_IMPLEMENTATION_H_ 5 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_
6 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ 6 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_
7 7
8 #include <GLES2/gl2.h> 8 #include <GLES2/gl2.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION_ASSERT(ptr && \ 68 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION_ASSERT(ptr && \
69 (ptr[0] == static_cast<type>(0) || ptr[0] == static_cast<type>(-1))); 69 (ptr[0] == static_cast<type>(0) || ptr[0] == static_cast<type>(-1)));
70 70
71 namespace gpu { 71 namespace gpu {
72 72
73 class MappedMemoryManager; 73 class MappedMemoryManager;
74 74
75 namespace gles2 { 75 namespace gles2 {
76 76
77 class ClientSideBufferHelper; 77 class ClientSideBufferHelper;
78 class ProgramInfoManager;
78 79
79 // Base class for IdHandlers 80 // Base class for IdHandlers
80 class IdHandlerInterface { 81 class IdHandlerInterface {
81 public: 82 public:
82 IdHandlerInterface() { } 83 IdHandlerInterface() { }
83 virtual ~IdHandlerInterface() { } 84 virtual ~IdHandlerInterface() { }
84 85
85 // Makes some ids at or above id_offset. 86 // Makes some ids at or above id_offset.
86 virtual void MakeIds(GLuint id_offset, GLsizei n, GLuint* ids) = 0; 87 virtual void MakeIds(GLuint id_offset, GLsizei n, GLuint* ids) = 0;
87 88
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 // Include the auto-generated part of this class. We split this because 169 // Include the auto-generated part of this class. We split this because
169 // it means we can easily edit the non-auto generated parts right here in 170 // it means we can easily edit the non-auto generated parts right here in
170 // this file instead of having to edit some template or the code generator. 171 // this file instead of having to edit some template or the code generator.
171 #include "../client/gles2_implementation_autogen.h" 172 #include "../client/gles2_implementation_autogen.h"
172 173
173 void DisableVertexAttribArray(GLuint index); 174 void DisableVertexAttribArray(GLuint index);
174 void EnableVertexAttribArray(GLuint index); 175 void EnableVertexAttribArray(GLuint index);
175 void GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params); 176 void GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);
176 void GetVertexAttribiv(GLuint index, GLenum pname, GLint* params); 177 void GetVertexAttribiv(GLuint index, GLenum pname, GLint* params);
177 178
179 void GetProgramInfoCHROMIUMHelper(GLuint program, std::vector<int8>* result);
180 void DeleteProgramOrShaderHelper(GLuint program_or_shader);
181 GLint GetAttribLocationHelper(GLuint program, const char* name);
182 GLint GetUniformLocationHelper(GLuint program, const char* name);
183 bool GetActiveAttribHelper(
184 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length,
185 GLint* size, GLenum* type, char* name);
186 bool GetActiveUniformHelper(
187 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length,
188 GLint* size, GLenum* type, char* name);
189
178 GLuint MakeTextureId() { 190 GLuint MakeTextureId() {
179 GLuint id; 191 GLuint id;
180 texture_id_handler_->MakeIds(0, 1, &id); 192 texture_id_handler_->MakeIds(0, 1, &id);
181 return id; 193 return id;
182 } 194 }
183 195
184 void FreeTextureId(GLuint id) { 196 void FreeTextureId(GLuint id) {
185 texture_id_handler_->FreeIds(1, &id); 197 texture_id_handler_->FreeIds(1, &id);
186 } 198 }
187 199
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 std::set<std::string> requestable_extensions_set_; 478 std::set<std::string> requestable_extensions_set_;
467 479
468 typedef std::map<const void*, MappedBuffer> MappedBufferMap; 480 typedef std::map<const void*, MappedBuffer> MappedBufferMap;
469 MappedBufferMap mapped_buffers_; 481 MappedBufferMap mapped_buffers_;
470 482
471 typedef std::map<const void*, MappedTexture> MappedTextureMap; 483 typedef std::map<const void*, MappedTexture> MappedTextureMap;
472 MappedTextureMap mapped_textures_; 484 MappedTextureMap mapped_textures_;
473 485
474 scoped_ptr<MappedMemoryManager> mapped_memory_; 486 scoped_ptr<MappedMemoryManager> mapped_memory_;
475 487
488 scoped_ptr<ProgramInfoManager> program_info_manager_;
489
476 DISALLOW_COPY_AND_ASSIGN(GLES2Implementation); 490 DISALLOW_COPY_AND_ASSIGN(GLES2Implementation);
477 }; 491 };
478 492
479 inline bool GLES2Implementation::GetBufferParameterivHelper( 493 inline bool GLES2Implementation::GetBufferParameterivHelper(
480 GLenum /* target */, GLenum /* pname */, GLint* /* params */) { 494 GLenum /* target */, GLenum /* pname */, GLint* /* params */) {
481 return false; 495 return false;
482 } 496 }
483 497
484 inline bool GLES2Implementation::GetFramebufferAttachmentParameterivHelper( 498 inline bool GLES2Implementation::GetFramebufferAttachmentParameterivHelper(
485 GLenum /* target */, 499 GLenum /* target */,
486 GLenum /* attachment */, 500 GLenum /* attachment */,
487 GLenum /* pname */, 501 GLenum /* pname */,
488 GLint* /* params */) { 502 GLint* /* params */) {
489 return false; 503 return false;
490 } 504 }
491 505
492 inline bool GLES2Implementation::GetProgramivHelper(
493 GLuint /* program */, GLenum /* pname */, GLint* /* params */) {
494 return false;
495 }
496
497 inline bool GLES2Implementation::GetRenderbufferParameterivHelper( 506 inline bool GLES2Implementation::GetRenderbufferParameterivHelper(
498 GLenum /* target */, GLenum /* pname */, GLint* /* params */) { 507 GLenum /* target */, GLenum /* pname */, GLint* /* params */) {
499 return false; 508 return false;
500 } 509 }
501 510
502 inline bool GLES2Implementation::GetShaderivHelper( 511 inline bool GLES2Implementation::GetShaderivHelper(
503 GLuint /* shader */, GLenum /* pname */, GLint* /* params */) { 512 GLuint /* shader */, GLenum /* pname */, GLint* /* params */) {
504 return false; 513 return false;
505 } 514 }
506 515
507 inline bool GLES2Implementation::GetTexParameterfvHelper( 516 inline bool GLES2Implementation::GetTexParameterfvHelper(
508 GLenum /* target */, GLenum /* pname */, GLfloat* /* params */) { 517 GLenum /* target */, GLenum /* pname */, GLfloat* /* params */) {
509 return false; 518 return false;
510 } 519 }
511 520
512 inline bool GLES2Implementation::GetTexParameterivHelper( 521 inline bool GLES2Implementation::GetTexParameterivHelper(
513 GLenum /* target */, GLenum /* pname */, GLint* /* params */) { 522 GLenum /* target */, GLenum /* pname */, GLint* /* params */) {
514 return false; 523 return false;
515 } 524 }
516 525
517 } // namespace gles2 526 } // namespace gles2
518 } // namespace gpu 527 } // namespace gpu
519 528
520 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ 529 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698