Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / common / gpu / gpu_memory_buffer_factory_win.cc
index a320c0c..618ecc5 100644 (file)
@@ -5,37 +5,46 @@
 #include "content/common/gpu/gpu_memory_buffer_factory.h"
 
 #include "base/logging.h"
+#include "gpu/command_buffer/service/image_factory.h"
 #include "ui/gl/gl_image.h"
 #include "ui/gl/gl_image_shared_memory.h"
 
 namespace content {
 namespace {
 
-class GpuMemoryBufferFactoryImpl : public GpuMemoryBufferFactory {
+class GpuMemoryBufferFactoryImpl : public GpuMemoryBufferFactory,
+                                   public gpu::ImageFactory {
  public:
   // Overridden from GpuMemoryBufferFactory:
   virtual gfx::GpuMemoryBufferHandle CreateGpuMemoryBuffer(
-      const gfx::GpuMemoryBufferHandle& handle,
+      gfx::GpuMemoryBufferType type,
+      gfx::GpuMemoryBufferId id,
       const gfx::Size& size,
-      unsigned internalformat,
-      unsigned usage) OVERRIDE {
+      gfx::GpuMemoryBuffer::Format format,
+      gfx::GpuMemoryBuffer::Usage usage,
+      int client_id) override {
     NOTREACHED();
     return gfx::GpuMemoryBufferHandle();
   }
-  virtual void DestroyGpuMemoryBuffer(
-      const gfx::GpuMemoryBufferHandle& handle) OVERRIDE {
+  virtual void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferType type,
+                                      gfx::GpuMemoryBufferId id,
+                                      int client_id) override {
     NOTREACHED();
   }
+  virtual gpu::ImageFactory* AsImageFactory() override { return this; }
+
+  // Overridden from gpu::ImageFactory:
   virtual scoped_refptr<gfx::GLImage> CreateImageForGpuMemoryBuffer(
       const gfx::GpuMemoryBufferHandle& handle,
       const gfx::Size& size,
+      gfx::GpuMemoryBuffer::Format format,
       unsigned internalformat,
-      int client_id) OVERRIDE {
+      int client_id) override {
     switch (handle.type) {
       case gfx::SHARED_MEMORY_BUFFER: {
         scoped_refptr<gfx::GLImageSharedMemory> image(
             new gfx::GLImageSharedMemory(size, internalformat));
-        if (!image->Initialize(handle))
+        if (!image->Initialize(handle, format))
           return NULL;
 
         return image;