Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1316)

Unified Diff: android_webview/browser/gpu_memory_buffer_factory_impl.cc

Issue 14456004: GPU client side changes for GpuMemoryBuffers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@glapi
Patch Set: Uploading again Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>();
}

Powered by Google App Engine
This is Rietveld 408576698