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

Unified Diff: gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.cc

Issue 2632903002: gpu: Pepper3DImageChromium support on ChromeOS. (Closed)
Patch Set: remove ifdef and add todo Created 3 years, 11 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
« no previous file with comments | « gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.cc
diff --git a/gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.cc b/gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.cc
index e59f155c6ee0413af8179a103f02bab0f1c3bbc6..8b266b8933bd60f0deaba4d480ae6b7d25dedd8b 100644
--- a/gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.cc
+++ b/gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.cc
@@ -32,9 +32,9 @@ GpuMemoryBufferFactoryOzoneNativePixmap::CreateGpuMemoryBuffer(
->GetSurfaceFactoryOzone()
->CreateNativePixmap(surface_handle, size, format, usage);
if (!pixmap.get()) {
- DLOG(ERROR) << "Failed to create pixmap " << size.width() << "x"
- << size.height() << " format " << static_cast<int>(format)
- << ", usage " << static_cast<int>(usage);
+ DLOG(ERROR) << "Failed to create pixmap " << size.ToString() << " format "
+ << static_cast<int>(format) << ", usage "
+ << static_cast<int>(usage);
return gfx::GpuMemoryBufferHandle();
}
@@ -109,10 +109,40 @@ GpuMemoryBufferFactoryOzoneNativePixmap::CreateImageForGpuMemoryBuffer(
scoped_refptr<ui::GLImageOzoneNativePixmap> image(
new ui::GLImageOzoneNativePixmap(size, internalformat));
if (!image->Initialize(pixmap.get(), format)) {
- LOG(ERROR) << "Failed to create GLImage";
+ LOG(ERROR) << "Failed to create GLImage " << size.ToString() << " format "
+ << static_cast<int>(format);
return nullptr;
}
return image;
}
+scoped_refptr<gl::GLImage>
+GpuMemoryBufferFactoryOzoneNativePixmap::CreateAnonymousImage(
+ const gfx::Size& size,
+ gfx::BufferFormat format,
+ unsigned internalformat) {
+ scoped_refptr<ui::NativePixmap> pixmap =
+ ui::OzonePlatform::GetInstance()
+ ->GetSurfaceFactoryOzone()
+ ->CreateNativePixmap(gpu::kNullSurfaceHandle, size, format,
+ gfx::BufferUsage::SCANOUT);
+ if (!pixmap.get()) {
+ LOG(ERROR) << "Failed to create pixmap " << size.ToString() << " format "
+ << static_cast<int>(format);
+ return nullptr;
+ }
+ scoped_refptr<ui::GLImageOzoneNativePixmap> image(
+ new ui::GLImageOzoneNativePixmap(size, internalformat));
+ if (!image->Initialize(pixmap.get(), format)) {
+ LOG(ERROR) << "Failed to create GLImage " << size.ToString() << " format "
+ << static_cast<int>(format);
+ return nullptr;
+ }
+ return image;
+}
+
+unsigned GpuMemoryBufferFactoryOzoneNativePixmap::RequiredTextureType() {
+ return GL_TEXTURE_EXTERNAL_OES;
+}
+
} // namespace gpu
« no previous file with comments | « gpu/ipc/service/gpu_memory_buffer_factory_ozone_native_pixmap.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698