| Index: gpu/command_buffer/client/gpu_memory_buffer_tracker.cc
|
| diff --git a/gpu/command_buffer/client/gpu_memory_buffer_tracker.cc b/gpu/command_buffer/client/gpu_memory_buffer_tracker.cc
|
| index c1c9b4d63c7595c21e688edf59ecd8c320731829..b8e26b238be6f2d413c68204131973095ff5b8c3 100644
|
| --- a/gpu/command_buffer/client/gpu_memory_buffer_tracker.cc
|
| +++ b/gpu/command_buffer/client/gpu_memory_buffer_tracker.cc
|
| @@ -5,16 +5,15 @@
|
| #include "gpu/command_buffer/client/gpu_memory_buffer_tracker.h"
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "gpu/command_buffer/client/cmd_buffer_helper.h"
|
| #include "gpu/command_buffer/client/gles2_implementation.h"
|
| -#include "gpu/command_buffer/client/image_factory.h"
|
| -#include "ui/gfx/gpu_memory_buffer.h"
|
|
|
| namespace gpu {
|
| namespace gles2 {
|
|
|
| -GpuMemoryBufferTracker::GpuMemoryBufferTracker(ImageFactory* factory)
|
| - : buffers_(),
|
| - factory_(factory) {
|
| +GpuMemoryBufferTracker::GpuMemoryBufferTracker(CommandBufferHelper* helper)
|
| + : helper_(helper) {
|
| + DCHECK(helper_);
|
| }
|
|
|
| GpuMemoryBufferTracker::~GpuMemoryBufferTracker() {
|
| @@ -23,37 +22,32 @@ GpuMemoryBufferTracker::~GpuMemoryBufferTracker() {
|
| }
|
| }
|
|
|
| -GLuint GpuMemoryBufferTracker::CreateBuffer(
|
| - GLsizei width, GLsizei height, GLenum internalformat) {
|
| - GLuint image_id = 0;
|
| - DCHECK(factory_);
|
| - scoped_ptr<gfx::GpuMemoryBuffer> buffer =
|
| - factory_->CreateGpuMemoryBuffer(width, height, internalformat, &image_id);
|
| -
|
| - if (buffer.get() == NULL)
|
| +int32 GpuMemoryBufferTracker::CreateBuffer(
|
| + size_t width, size_t height, int32 internalformat) {
|
| + int32 image_id = 0;
|
| + gfx::GpuMemoryBuffer* buffer =
|
| + helper_->command_buffer()->CreateGpuMemoryBuffer(
|
| + width, height, internalformat, &image_id);
|
| + if (!buffer)
|
| return 0;
|
|
|
| std::pair<BufferMap::iterator, bool> result =
|
| - buffers_.insert(std::make_pair(image_id, buffer.release()));
|
| + buffers_.insert(std::make_pair(image_id, buffer));
|
| GPU_DCHECK(result.second);
|
|
|
| return image_id;
|
| }
|
|
|
| -gfx::GpuMemoryBuffer* GpuMemoryBufferTracker::GetBuffer(GLuint image_id) {
|
| +gfx::GpuMemoryBuffer* GpuMemoryBufferTracker::GetBuffer(int32 image_id) {
|
| BufferMap::iterator it = buffers_.find(image_id);
|
| return (it != buffers_.end()) ? it->second : NULL;
|
| }
|
|
|
| -void GpuMemoryBufferTracker::RemoveBuffer(GLuint image_id) {
|
| +void GpuMemoryBufferTracker::RemoveBuffer(int32 image_id) {
|
| BufferMap::iterator buffer_it = buffers_.find(image_id);
|
| - if (buffer_it != buffers_.end()) {
|
| - gfx::GpuMemoryBuffer* buffer = buffer_it->second;
|
| + if (buffer_it != buffers_.end())
|
| buffers_.erase(buffer_it);
|
| - delete buffer;
|
| - }
|
| - DCHECK(factory_);
|
| - factory_->DeleteGpuMemoryBuffer(image_id);
|
| + helper_->command_buffer()->DestroyGpuMemoryBuffer(image_id);
|
| }
|
|
|
| } // namespace gles2
|
|
|