Index: gpu/command_buffer/client/gles2_implementation.h |
=================================================================== |
--- gpu/command_buffer/client/gles2_implementation.h (revision 98483) |
+++ 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; |