Index: gpu/command_buffer/client/gpu_memory_buffer_factory.cc |
diff --git a/gpu/command_buffer/client/gpu_memory_buffer_factory.cc b/gpu/command_buffer/client/gpu_memory_buffer_factory.cc |
index c0e5b9f60995db5efa330a78f3606b3c4433fd4e..31cb75c302933616282ab5654c4ef3deb3d4e866 100644 |
--- a/gpu/command_buffer/client/gpu_memory_buffer_factory.cc |
+++ b/gpu/command_buffer/client/gpu_memory_buffer_factory.cc |
@@ -5,8 +5,10 @@ |
#include "gpu/command_buffer/client/gpu_memory_buffer_factory.h" |
#include "base/logging.h" |
+#include "gpu/command_buffer/common/image_buffer_manager.h" |
namespace gpu { |
+namespace gles2 { |
namespace { |
GpuMemoryBuffer::Creator* g_gpu_memory_buffer_factory_ = NULL; |
@@ -22,4 +24,22 @@ void SetProcessDefaultGpuMemoryBufferFactory( |
g_gpu_memory_buffer_factory_ = new GpuMemoryBuffer::Creator(factory); |
} |
+GpuMemoryBufferFactory::GpuMemoryBufferFactory(ImageManagerProxy* manager) |
+ : image_manager_proxy_(manager) { |
+} |
+ |
+GpuMemoryBufferFactory::~GpuMemoryBufferFactory() { |
+} |
+ |
+scoped_ptr<GpuMemoryBuffer> GpuMemoryBufferFactory::CreateGpuMemoryBuffer( |
joth
2013/05/03 00:49:37
// creates a GpuMemoryBuffer and makes it availabl
|
+ int width, int height, int image_id) { |
+ scoped_ptr<GpuMemoryBuffer> buffer = |
+ GetProcessDefaultGpuMemoryBufferFactory().Run(width, height); |
+ |
+ image_manager_proxy_->AddImageBuffer(buffer->GetNativeBuffer(), image_id, |
+ width, height); |
+ return buffer.Pass(); |
+} |
+ |
+} // namespace gles2 |
} // namespace gpu |