Skip to content

Commit

Permalink
Move GpuMemoryBuffer interface from ui/gl to gpu/command_buffer/client
Browse files Browse the repository at this point in the history
BUG=175012

Review URL: https://chromiumcodereview.appspot.com/13870010

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195112 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
kaanb@chromium.org committed Apr 19, 2013
1 parent f4521f6 commit f677a16
Show file tree
Hide file tree
Showing 12 changed files with 33 additions and 35 deletions.
2 changes: 1 addition & 1 deletion android_webview/browser/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ include_rules = [

"+content/public/browser",

"+gpu/command_buffer/client/gpu_memory_buffer_factory.h",
"+gpu/command_buffer/client",

"+ui/gfx",
"+ui/gl",
Expand Down
11 changes: 8 additions & 3 deletions android_webview/browser/gpu_memory_buffer_factory_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,17 @@
#include "android_webview/browser/gpu_memory_buffer_factory_impl.h"

#include "android_webview/browser/gpu_memory_buffer_impl.h"
#include "base/logging.h"
#include "ui/gfx/size.h"

namespace android_webview {

scoped_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer(gfx::Size size) {
scoped_ptr<GpuMemoryBufferImpl> result(new GpuMemoryBufferImpl(size));
return result.PassAs<gfx::GpuMemoryBuffer>();
scoped_ptr<gpu::GpuMemoryBuffer> CreateGpuMemoryBuffer(int width, int height) {
DCHECK(width > 0);
DCHECK(height > 0);
scoped_ptr<GpuMemoryBufferImpl> result(new GpuMemoryBufferImpl(
gfx::Size(width, height)));
return result.PassAs<gpu::GpuMemoryBuffer>();
}

} // namespace android_webview
9 changes: 2 additions & 7 deletions android_webview/browser/gpu_memory_buffer_factory_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,12 @@
#ifndef ANDROID_WEBVIEW_BROWSER_GPU_MEMORY_BUFFER_FACTORY_IMPL_H_
#define ANDROID_WEBVIEW_BROWSER_GPU_MEMORY_BUFFER_FACTORY_IMPL_H_

#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "ui/gl/gpu_memory_buffer.h"

namespace gfx {
class Size;
}
#include "gpu/command_buffer/client/gpu_memory_buffer.h"

namespace android_webview {

scoped_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer(gfx::Size size);
scoped_ptr<gpu::GpuMemoryBuffer> CreateGpuMemoryBuffer(int width, int height);

} // namespace android_webview

Expand Down
4 changes: 2 additions & 2 deletions android_webview/browser/gpu_memory_buffer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
#include "android_webview/public/browser/draw_gl.h"
#include "base/bind.h"
#include "base/logging.h"
#include "gpu/command_buffer/client/gpu_memory_buffer.h"
#include "gpu/command_buffer/client/gpu_memory_buffer_factory.h"
#include "ui/gfx/size.h"
#include "ui/gl/gpu_memory_buffer.h"

namespace android_webview {

Expand All @@ -29,7 +29,7 @@ GpuMemoryBufferImpl::~GpuMemoryBufferImpl() {
buffer_id_ = 0;
}

void GpuMemoryBufferImpl::Map(gfx::GpuMemoryBuffer::AccessMode mode,
void GpuMemoryBufferImpl::Map(gpu::GpuMemoryBuffer::AccessMode mode,
void** vaddr) {
DCHECK(buffer_id_ != 0);
int err = g_gl_draw_functions->lock(buffer_id_, mode, vaddr);
Expand Down
6 changes: 3 additions & 3 deletions android_webview/browser/gpu_memory_buffer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@

#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "gpu/command_buffer/client/gpu_memory_buffer.h"
#include "ui/gfx/size.h"
#include "ui/gl/gpu_memory_buffer.h"

struct AwDrawGLFunctionTable;

namespace android_webview {

class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
class GpuMemoryBufferImpl : public gpu::GpuMemoryBuffer {
public:
static void SetAwDrawGLFunctionTable(AwDrawGLFunctionTable* table);
GpuMemoryBufferImpl(gfx::Size size);
virtual ~GpuMemoryBufferImpl();

// methods from GpuMemoryBuffer
virtual void Map(gfx::GpuMemoryBuffer::AccessMode mode,
virtual void Map(gpu::GpuMemoryBuffer::AccessMode mode,
void** vaddr) OVERRIDE;
virtual void Unmap() OVERRIDE;
virtual void* GetNativeBuffer() OVERRIDE;
Expand Down
2 changes: 1 addition & 1 deletion android_webview/public/browser/draw_gl.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ typedef int AwCreateGraphicBufferFunction(int w, int h);
// Called to release a GraphicBuffer
typedef void AwReleaseGraphicBufferFunction(int buffer_id);
// Called to lock a GraphicBuffer in |mode|, which is
// defined in AccessMode enum in ui/gl/gpu_memory_buffer.h
// defined in AccessMode enum in gpu/command_buffer/client/gpu_memory_buffer.h
typedef int AwLockFunction(int buffer_id, int mode, void** vaddr);
// Called to unlock a GraphicBuffer
typedef int AwUnlockFunction(int buffer_id);
Expand Down
1 change: 0 additions & 1 deletion android_webview/renderer/aw_content_renderer_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

#include "android_webview/renderer/aw_render_process_observer.h"
#include "base/compiler_specific.h"
#include "ui/gl/gpu_memory_buffer.h"

namespace components {
class VisitedLinkSlave;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_GL_GPU_MEMORY_BUFFER_H_
#define UI_GL_GPU_MEMORY_BUFFER_H_
#ifndef GPU_COMMAND_BUFFER_CLIENT_GPU_MEMORY_BUFFER_H_
#define GPU_COMMAND_BUFFER_CLIENT_GPU_MEMORY_BUFFER_H_

#include "base/basictypes.h"
#include "base/callback.h"
#include "base/memory/scoped_ptr.h"

namespace gfx {
class Size;
namespace gpu {

// Interface for creating and accessing a zero-copy GPU memory buffer.
// This design evolved from the generalization of GraphicBuffer API
Expand All @@ -23,7 +22,7 @@ class Size;
// behavior and is not allowed.
class GpuMemoryBuffer {
public:
typedef base::Callback<scoped_ptr<gfx::GpuMemoryBuffer>(gfx::Size)> Creator;
typedef base::Callback<scoped_ptr<GpuMemoryBuffer>(int, int)> Creator;
enum AccessMode {
READ_ONLY,
WRITE_ONLY,
Expand All @@ -50,6 +49,6 @@ class GpuMemoryBuffer {
virtual uint32 GetStride() = 0;
};

} // namespace gfx
} // namespace gpu

#endif // UI_GL_GPU_MEMORY_BUFFER_H_
#endif // GPU_COMMAND_BUFFER_CLIENT_GPU_MEMORY_BUFFER_H_
8 changes: 4 additions & 4 deletions gpu/command_buffer/client/gpu_memory_buffer_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@
namespace gpu {

namespace {
gfx::GpuMemoryBuffer::Creator* g_gpu_memory_buffer_factory_ = NULL;
GpuMemoryBuffer::Creator* g_gpu_memory_buffer_factory_ = NULL;
}

const gfx::GpuMemoryBuffer::Creator& GetProcessDefaultGpuMemoryBufferFactory() {
const GpuMemoryBuffer::Creator& GetProcessDefaultGpuMemoryBufferFactory() {
return *g_gpu_memory_buffer_factory_;
}

void SetProcessDefaultGpuMemoryBufferFactory(
const gfx::GpuMemoryBuffer::Creator& factory) {
const GpuMemoryBuffer::Creator& factory) {
DCHECK(g_gpu_memory_buffer_factory_ == NULL);
g_gpu_memory_buffer_factory_ = new gfx::GpuMemoryBuffer::Creator(factory);
g_gpu_memory_buffer_factory_ = new GpuMemoryBuffer::Creator(factory);
}

} // namespace gpu
6 changes: 3 additions & 3 deletions gpu/command_buffer/client/gpu_memory_buffer_factory.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
#ifndef GPU_COMMAND_BUFFER_CLIENT_GPU_MEMORY_BUFFER_FACTORY_H_
#define GPU_COMMAND_BUFFER_CLIENT_GPU_MEMORY_BUFFER_FACTORY_H_

#include "ui/gl/gpu_memory_buffer.h"
#include "gles2_impl_export.h"
#include "gpu/command_buffer/client/gpu_memory_buffer.h"

namespace gpu {

Expand All @@ -15,11 +15,11 @@ namespace gpu {
// renderer are within the same process.

// It is not valid to call this method before the setter is called.
const gfx::GpuMemoryBuffer::Creator& GetProcessDefaultGpuMemoryBufferFactory();
const GpuMemoryBuffer::Creator& GetProcessDefaultGpuMemoryBufferFactory();

// It is illegal to call the setter more than once.
GLES2_IMPL_EXPORT void SetProcessDefaultGpuMemoryBufferFactory(
const gfx::GpuMemoryBuffer::Creator& factory);
const GpuMemoryBuffer::Creator& factory);

} // namespace gpu

Expand Down
5 changes: 3 additions & 2 deletions gpu/gpu_common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
'command_buffer/client/client_context_state.cc',
'command_buffer/client/client_context_state_autogen.h',
'command_buffer/client/client_context_state_impl_autogen.h',
'command_buffer/client/gpu_memory_buffer_factory.cc',
'command_buffer/client/gpu_memory_buffer_factory.h',
'command_buffer/client/gles2_impl_export.h',
'command_buffer/client/gles2_implementation_autogen.h',
'command_buffer/client/gles2_implementation.cc',
Expand All @@ -38,6 +36,9 @@
'command_buffer/client/gles2_trace_implementation.cc',
'command_buffer/client/gles2_trace_implementation.h',
'command_buffer/client/gles2_trace_implementation_impl_autogen.h',
'command_buffer/client/gpu_memory_buffer.h',
'command_buffer/client/gpu_memory_buffer_factory.cc',
'command_buffer/client/gpu_memory_buffer_factory.h',
'command_buffer/client/program_info_manager.cc',
'command_buffer/client/program_info_manager.h',
'command_buffer/client/query_tracker.cc',
Expand Down
1 change: 0 additions & 1 deletion ui/gl/gl.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@
'gl_surface_osmesa.h',
'gl_switches.cc',
'gl_switches.h',
'gpu_memory_buffer.h',
'gpu_switching_manager.cc',
'gpu_switching_manager.h',
'safe_shared_memory_pool.h',
Expand Down

0 comments on commit f677a16

Please sign in to comment.