| Index: gpu/command_buffer/client/gles2_implementation.h
|
| ===================================================================
|
| --- gpu/command_buffer/client/gles2_implementation.h (revision 98314)
|
| +++ gpu/command_buffer/client/gles2_implementation.h (working copy)
|
| @@ -75,6 +75,7 @@
|
| namespace gles2 {
|
|
|
| class ClientSideBufferHelper;
|
| +class ProgramInfoManager;
|
|
|
| // Base class for IdHandlers
|
| class IdHandlerInterface {
|
| @@ -86,7 +87,7 @@
|
| virtual void MakeIds(GLuint id_offset, GLsizei n, GLuint* ids) = 0;
|
|
|
| // Frees some ids.
|
| - virtual void FreeIds(GLsizei n, const GLuint* ids) = 0;
|
| + virtual bool FreeIds(GLsizei n, const GLuint* ids) = 0;
|
|
|
| // Marks an id as used for glBind functions. id = 0 does nothing.
|
| virtual bool MarkAsUsedForBind(GLuint id) = 0;
|
| @@ -155,7 +156,8 @@
|
| size_t transfer_buffer_size,
|
| void* transfer_buffer,
|
| int32 transfer_buffer_id,
|
| - bool share_resources);
|
| + bool share_resources,
|
| + bool bind_generates_resource = true); // Will remove in 2 CLs!
|
|
|
| ~GLES2Implementation();
|
|
|
| @@ -175,6 +177,16 @@
|
| void GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);
|
| void GetVertexAttribiv(GLuint index, GLenum pname, GLint* params);
|
|
|
| + void GetProgramInfoCHROMIUMHelper(GLuint program, std::vector<int8>* result);
|
| + GLint GetAttribLocationHelper(GLuint program, const char* name);
|
| + GLint GetUniformLocationHelper(GLuint program, const char* name);
|
| + bool GetActiveAttribHelper(
|
| + GLuint program, GLuint index, GLsizei bufsize, GLsizei* length,
|
| + GLint* size, GLenum* type, char* name);
|
| + bool GetActiveUniformHelper(
|
| + GLuint program, GLuint index, GLsizei bufsize, GLsizei* length,
|
| + GLint* size, GLenum* type, char* name);
|
| +
|
| GLuint MakeTextureId() {
|
| GLuint id;
|
| texture_id_handler_->MakeIds(0, 1, &id);
|
| @@ -371,6 +383,8 @@
|
| void DeleteFramebuffersHelper(GLsizei n, const GLuint* framebuffers);
|
| void DeleteRenderbuffersHelper(GLsizei n, const GLuint* renderbuffers);
|
| void DeleteTexturesHelper(GLsizei n, const GLuint* textures);
|
| + bool DeleteProgramHelper(GLuint program);
|
| + bool DeleteShaderHelper(GLuint shader);
|
|
|
| // Helper for GetVertexAttrib
|
| bool GetVertexAttribHelper(GLuint index, GLenum pname, uint32* param);
|
| @@ -462,6 +476,8 @@
|
| // Whether or not this context is sharing resources.
|
| bool sharing_resources_;
|
|
|
| + bool bind_generates_resource_;
|
| +
|
| // Map of GLenum to Strings for glGetString. We need to cache these because
|
| // the pointer passed back to the client has to remain valid for eternity.
|
| typedef std::map<uint32, std::set<std::string> > GLStringMap;
|
| @@ -479,6 +495,8 @@
|
|
|
| scoped_ptr<MappedMemoryManager> mapped_memory_;
|
|
|
| + scoped_ptr<ProgramInfoManager> program_info_manager_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(GLES2Implementation);
|
| };
|
|
|
| @@ -495,11 +513,6 @@
|
| return false;
|
| }
|
|
|
| -inline bool GLES2Implementation::GetProgramivHelper(
|
| - GLuint /* program */, GLenum /* pname */, GLint* /* params */) {
|
| - return false;
|
| -}
|
| -
|
| inline bool GLES2Implementation::GetRenderbufferParameterivHelper(
|
| GLenum /* target */, GLenum /* pname */, GLint* /* params */) {
|
| return false;
|
|
|