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

Unified Diff: content/common/gpu/image_transport_surface_linux.cc

Issue 8622004: Reland 110355 - Use shared D3D9 texture to transport the compositor's backing buffer to the brows... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 1 month 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/image_transport_surface_linux.cc
===================================================================
--- content/common/gpu/image_transport_surface_linux.cc (revision 111043)
+++ content/common/gpu/image_transport_surface_linux.cc (working copy)
@@ -77,6 +77,7 @@
virtual void OnNewSurfaceACK(
uint64 surface_id, TransportDIB::Handle surface_handle) OVERRIDE;
virtual void OnBuffersSwappedACK() OVERRIDE;
+ virtual void OnResizeViewACK() OVERRIDE;
virtual void OnResize(gfx::Size size) OVERRIDE;
private:
@@ -119,6 +120,7 @@
virtual void OnNewSurfaceACK(
uint64 surface_id, TransportDIB::Handle surface_handle) OVERRIDE;
virtual void OnBuffersSwappedACK() OVERRIDE;
+ virtual void OnResizeViewACK() OVERRIDE;
virtual void OnResize(gfx::Size size) OVERRIDE;
private:
@@ -167,6 +169,7 @@
virtual void OnNewSurfaceACK(
uint64 surface_id, TransportDIB::Handle surface_handle) OVERRIDE;
virtual void OnBuffersSwappedACK() OVERRIDE;
+ virtual void OnResizeViewACK() OVERRIDE;
virtual void OnResize(gfx::Size size) OVERRIDE;
private:
@@ -374,6 +377,11 @@
helper_->SetScheduled(true);
}
+
+void EGLImageTransportSurface::OnResizeViewACK() {
+ NOTREACHED();
+}
+
GLXImageTransportSurface::GLXImageTransportSurface(
GpuChannelManager* manager,
int32 render_view_id,
@@ -539,6 +547,10 @@
helper_->SetScheduled(true);
}
+void GLXImageTransportSurface::OnResizeViewACK() {
+ NOTREACHED();
+}
+
OSMesaImageTransportSurface::OSMesaImageTransportSurface(
GpuChannelManager* manager,
int32 render_view_id,
@@ -617,6 +629,10 @@
helper_->SetScheduled(true);
}
+void OSMesaImageTransportSurface::OnResizeViewACK() {
+ NOTREACHED();
+}
+
bool OSMesaImageTransportSurface::SwapBuffers() {
DCHECK_NE(shared_mem_.get(), static_cast<void*>(NULL));
@@ -648,8 +664,9 @@
int32 render_view_id,
int32 renderer_id,
int32 command_buffer_id,
- gfx::PluginWindowHandle /* handle */) {
+ gfx::PluginWindowHandle handle) {
scoped_refptr<gfx::GLSurface> surface;
+#if defined(UI_COMPOSITOR_IMAGE_TRANSPORT)
switch (gfx::GetGLImplementation()) {
case gfx::kGLImplementationDesktopGL:
surface = new GLXImageTransportSurface(manager,
@@ -673,6 +690,17 @@
NOTREACHED();
return NULL;
}
+#else
+ surface = gfx::GLSurface::CreateViewGLSurface(false, handle);
+ if (!surface.get())
+ return NULL;
+
+ surface = new PassThroughImageTransportSurface(manager,
+ render_view_id,
+ renderer_id,
+ command_buffer_id,
+ surface.get());
+#endif
if (surface->Initialize())
return surface;
else

Powered by Google App Engine
This is Rietveld 408576698