 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: android_webview/browser/gpu_memory_buffer_factory_impl.cc | 
| diff --git a/android_webview/browser/gpu_memory_buffer_factory_impl.cc b/android_webview/browser/gpu_memory_buffer_factory_impl.cc | 
| index 924fdefcdb39f4fdd75266a94a2ce670a3bdb11c..0990a94f348cf243acf222c950aa6d9aaba43505 100644 | 
| --- a/android_webview/browser/gpu_memory_buffer_factory_impl.cc | 
| +++ b/android_webview/browser/gpu_memory_buffer_factory_impl.cc | 
| @@ -6,15 +6,28 @@ | 
| #include "android_webview/browser/gpu_memory_buffer_impl.h" | 
| #include "base/logging.h" | 
| +#include "base/memory/ref_counted.h" | 
| +#include "gpu/command_buffer/client/gpu_memory_buffer_factory.h" | 
| +#include "gpu/command_buffer/service/image_manager.h" | 
| #include "ui/gfx/size.h" | 
| +#include "ui/gl/gl_image.h" | 
| namespace android_webview { | 
| -scoped_ptr<gpu::GpuMemoryBuffer> CreateGpuMemoryBuffer(int width, int height) { | 
| +scoped_ptr<gpu::GpuMemoryBuffer> CreateGpuMemoryBuffer( | 
| + int buffer_id, int width, int height) { | 
| DCHECK(width > 0); | 
| DCHECK(height > 0); | 
| - scoped_ptr<GpuMemoryBufferImpl> result(new GpuMemoryBufferImpl( | 
| - gfx::Size(width, height))); | 
| + gfx::Size size(width, height); | 
| + | 
| + scoped_ptr<GpuMemoryBufferImpl> result(new GpuMemoryBufferImpl(size)); | 
| + | 
| + scoped_refptr<gfx::GLImage> gl_image = | 
| + gfx::GLImage::CreateGLImageForGpuMemoryBuffer( | 
| + result->GetNativeBuffer(), size); | 
| + | 
| + DCHECK(buffer_id != 0); | 
| + gpu::GetProcessDefaultImageManager()->AddImage(gl_image, buffer_id); | 
| 
joth
2013/04/29 17:21:21
Is there a RemoveImage() call? where does that hap
 
kaanb
2013/04/30 03:40:10
Let's discuss this when sievers@ comes back.
 | 
| return result.PassAs<gpu::GpuMemoryBuffer>(); | 
| } |