 Chromium Code Reviews
 Chromium Code Reviews Issue 14456004:
  GPU client side changes for GpuMemoryBuffers  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@glapi
    
  
    Issue 14456004:
  GPU client side changes for GpuMemoryBuffers  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@glapi| Index: gpu/command_buffer/client/gles2_implementation.h | 
| diff --git a/gpu/command_buffer/client/gles2_implementation.h b/gpu/command_buffer/client/gles2_implementation.h | 
| index e176c8b20a2ca761346d004833caa93ba7ccc452..ff63ee7365cbb0ed2650060d434e337731508697 100644 | 
| --- a/gpu/command_buffer/client/gles2_implementation.h | 
| +++ b/gpu/command_buffer/client/gles2_implementation.h | 
| @@ -18,6 +18,8 @@ | 
| #include "../client/client_context_state.h" | 
| #include "../client/gles2_cmd_helper.h" | 
| #include "../client/gles2_interface.h" | 
| +#include "../client/gpu_memory_buffer_tracker.h" | 
| +#include "../client/image_factory.h" | 
| #include "../client/query_tracker.h" | 
| #include "../client/ref_counted.h" | 
| #include "../client/ring_buffer.h" | 
| @@ -92,6 +94,9 @@ | 
| GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION_ASSERT(!ptr || \ | 
| (ptr[0] == static_cast<type>(0) || ptr[0] == static_cast<type>(-1))); | 
| +// TODO(kaanb): Ask gman if there's a better header for this. | 
| +#define GL_READ_WRITE 0x88BA | 
| + | 
| struct GLUniformDefinitionCHROMIUM; | 
| namespace gpu { | 
| @@ -102,6 +107,7 @@ class TransferBufferInterface; | 
| namespace gles2 { | 
| +class ImageFactory; | 
| class VertexArrayObjectManager; | 
| // This class emulates GLES2 over command buffers. It can be used by a client | 
| @@ -165,7 +171,8 @@ class GLES2_IMPL_EXPORT GLES2Implementation : public GLES2Interface { | 
| ShareGroup* share_group, | 
| TransferBufferInterface* transfer_buffer, | 
| bool share_resources, | 
| - bool bind_generates_resource); | 
| + bool bind_generates_resource, | 
| + ImageFactory* image_factory); | 
| virtual ~GLES2Implementation(); | 
| @@ -435,6 +442,14 @@ class GLES2_IMPL_EXPORT GLES2Implementation : public GLES2Interface { | 
| GLenum target, GLintptr offset, GLsizeiptr size, const void* data, | 
| ScopedTransferBufferPtr* buffer); | 
| + GLuint CreateImageCHROMIUMHelper( | 
| + GLsizei width, GLsizei height, GLenum internalformat); | 
| + void DestroyImageCHROMIUMHelper(GLuint image_id); | 
| + void* MapImageCHROMIUMHelper(GLuint image_id, GLenum access); | 
| + void UnmapImageCHROMIUMHelper(GLuint image_id); | 
| + void GetImageParameterivCHROMIUMHelper( | 
| + GLuint image_id, GLenum pname, GLint* params); | 
| + | 
| // Helper for GetVertexAttrib | 
| bool GetVertexAttribHelper(GLuint index, GLenum pname, uint32* param); | 
| @@ -600,10 +615,14 @@ class GLES2_IMPL_EXPORT GLES2Implementation : public GLES2Interface { | 
| scoped_ptr<BufferTracker> buffer_tracker_; | 
| + scoped_ptr<GpuMemoryBufferTracker> gpu_memory_buffer_tracker_; | 
| + | 
| ErrorMessageCallback* error_message_callback_; | 
| scoped_ptr<std::string> current_trace_name_; | 
| + ImageFactory* image_factory_; // weak | 
| 
reveman
2013/05/14 01:21:04
nit: no need for "weak" comment. that's already im
 
kaanb
2013/05/14 18:12:11
Done.
 | 
| + | 
| DISALLOW_COPY_AND_ASSIGN(GLES2Implementation); | 
| }; |