| Index: content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| index 6449f99e64a59c6dc23cb8b65c5b0ba51aee8619..48a5989717c4c5a5c94399de7b3d4531a57ba098 100644
|
| --- a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| @@ -54,8 +54,7 @@ GpuMemoryBufferImplSurfaceTexture::GpuMemoryBufferImplSurfaceTexture(
|
| const DestructionCallback& callback,
|
| ANativeWindow* native_window)
|
| : GpuMemoryBufferImpl(id, size, format, callback),
|
| - native_window_(native_window),
|
| - stride_(0) {}
|
| + native_window_(native_window) {}
|
|
|
| GpuMemoryBufferImplSurfaceTexture::~GpuMemoryBufferImplSurfaceTexture() {
|
| ANativeWindow_release(native_window_);
|
| @@ -99,7 +98,7 @@ base::Closure GpuMemoryBufferImplSurfaceTexture::AllocateForTesting(
|
| scoped_refptr<gfx::SurfaceTexture> surface_texture =
|
| gfx::SurfaceTexture::Create(0);
|
| DCHECK(surface_texture);
|
| - gfx::GpuMemoryBufferId kBufferId(1);
|
| + const gfx::GpuMemoryBufferId kBufferId(1);
|
| SurfaceTextureManager::GetInstance()->RegisterSurfaceTexture(
|
| kBufferId.id, 0, surface_texture.get());
|
| handle->type = gfx::SURFACE_TEXTURE_BUFFER;
|
| @@ -107,39 +106,41 @@ base::Closure GpuMemoryBufferImplSurfaceTexture::AllocateForTesting(
|
| return base::Bind(&FreeSurfaceTextureForTesting, surface_texture, kBufferId);
|
| }
|
|
|
| -bool GpuMemoryBufferImplSurfaceTexture::Map(void** data) {
|
| +bool GpuMemoryBufferImplSurfaceTexture::Map() {
|
| TRACE_EVENT0("gpu", "GpuMemoryBufferImplSurfaceTexture::Map");
|
| -
|
| DCHECK(!mapped_);
|
| DCHECK(native_window_);
|
| - ANativeWindow_Buffer buffer;
|
| - int status = ANativeWindow_lock(native_window_, &buffer, NULL);
|
| - if (status) {
|
| - VLOG(1) << "ANativeWindow_lock failed with error code: " << status;
|
| + if (ANativeWindow_lock(native_window_, &buffer_, NULL)) {
|
| + DPLOG(ERROR) << "ANativeWindow_lock failed";
|
| return false;
|
| }
|
| -
|
| - DCHECK_LE(size_.width(), buffer.stride);
|
| - stride_ = gfx::RowSizeForBufferFormat(buffer.stride, format_, 0);
|
| + DCHECK_LE(size_.width(), buffer_.stride);
|
| mapped_ = true;
|
| - *data = buffer.bits;
|
| return true;
|
| }
|
|
|
| +void* GpuMemoryBufferImplSurfaceTexture::memory(size_t plane) {
|
| + TRACE_EVENT0("gpu", "GpuMemoryBufferImplSurfaceTexture::memory");
|
| + DCHECK(mapped_);
|
| + DCHECK_EQ(0u, plane);
|
| + return buffer_.bits;
|
| +}
|
| +
|
| void GpuMemoryBufferImplSurfaceTexture::Unmap() {
|
| TRACE_EVENT0("gpu", "GpuMemoryBufferImplSurfaceTexture::Unmap");
|
| -
|
| DCHECK(mapped_);
|
| ANativeWindow_unlockAndPost(native_window_);
|
| mapped_ = false;
|
| }
|
|
|
| -void GpuMemoryBufferImplSurfaceTexture::GetStride(int* stride) const {
|
| - *stride = stride_;
|
| +int GpuMemoryBufferImplSurfaceTexture::stride(size_t plane) const {
|
| + DCHECK(mapped_);
|
| + DCHECK_EQ(0u, plane);
|
| + return gfx::RowSizeForBufferFormat(buffer_.stride, format_, 0);
|
| }
|
|
|
| -gfx::GpuMemoryBufferHandle GpuMemoryBufferImplSurfaceTexture::GetHandle()
|
| - const {
|
| +gfx::GpuMemoryBufferHandle
|
| +GpuMemoryBufferImplSurfaceTexture::GetHandle() const {
|
| gfx::GpuMemoryBufferHandle handle;
|
| handle.type = gfx::SURFACE_TEXTURE_BUFFER;
|
| handle.id = id_;
|
|
|