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

Unified Diff: content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc

Issue 1412223009: Reland: GpuMemoryBuffer interface change: Map(**) to Map() and memory(plane); stride(plane) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Win X64 compile fix Created 5 years, 2 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: 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_;
« no previous file with comments | « content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.h ('k') | content/renderer/media/video_capture_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698