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

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

Issue 8060045: Use shared D3D9 texture to transport the compositor's backing buffer to the browser... (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 108480)
+++ content/common/gpu/image_transport_surface_linux.cc (working copy)
@@ -76,6 +76,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:
@@ -117,6 +118,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:
@@ -162,6 +164,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:
@@ -369,6 +372,10 @@
helper_->SetScheduled(true);
}
+
+void EGLImageTransportSurface::OnResizeViewACK() {
jonathan.backer 2011/11/03 23:09:07 NOTREACHED?
+}
+
GLXImageTransportSurface::GLXImageTransportSurface(
GpuChannelManager* manager,
int32 render_view_id,
@@ -524,6 +531,9 @@
helper_->SetScheduled(true);
}
+void GLXImageTransportSurface::OnResizeViewACK() {
+}
jonathan.backer 2011/11/03 23:09:07 NOTREACHED()
+
OSMesaImageTransportSurface::OSMesaImageTransportSurface(
GpuChannelManager* manager,
int32 render_view_id,
@@ -602,6 +612,9 @@
helper_->SetScheduled(true);
}
+void OSMesaImageTransportSurface::OnResizeViewACK() {
+}
+
jonathan.backer 2011/11/03 23:09:07 NOTREACHED()
bool OSMesaImageTransportSurface::SwapBuffers() {
DCHECK_NE(shared_mem_.get(), static_cast<void*>(NULL));
@@ -633,8 +646,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,
@@ -658,6 +672,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