r168675 - in trunk/src/content: browser/renderer_host common/gpu

2 views
Skip to first unread message

sco...@chromium.org

unread,
Nov 19, 2012, 8:05:19 PM11/19/12
to chromium...@chromium.org
Author: sco...@chromium.org
Date: Mon Nov 19 17:05:18 2012
New Revision: 168675

Log:
ImageTransportSurface::CreateSurface on Windows handles the following cases:

1. content area on regular (non-aura) windows on vista+
2. content area on regular (non-aura) windows on xp
3. content area on aura
4. top level compositor on aura on windows on angle (normal)
5. top level compositor on aura on windows on mesa (tests)

And, the TransportSurface methods that should be used:

1. PbufferImageTransportSurface
2. NativeGLSurface (PassThroughImageTransportSurface) with transport=true
3. TextureImageTransportSurface
4. PbufferImageTransportSurface
5. NativeGLSurface (PassThroughImageTransportSurface) with transport=false

This change fixes case #5.

TEST=browser_tests, GpuFeatureTest.NoRafDamage

Review URL: https://chromiumcodereview.appspot.com/11416075

Modified:
trunk/src/content/browser/renderer_host/image_transport_factory.cc
trunk/src/content/common/gpu/image_transport_surface_win.cc

Modified: trunk/src/content/browser/renderer_host/image_transport_factory.cc
==============================================================================
--- trunk/src/content/browser/renderer_host/image_transport_factory.cc (original)
+++ trunk/src/content/browser/renderer_host/image_transport_factory.cc Mon Nov 19 17:05:18 2012
@@ -528,14 +528,10 @@
#if defined(OS_WIN)
if (GpuDataManagerImpl::GetInstance()->IsUsingAcceleratedSurface())
data->accelerated_surface.reset(new AcceleratedSurface(widget));
- tracker->SetSurfaceHandle(
- data->surface_id,
- gfx::GLSurfaceHandle(widget, true));
-#else
+#endif
tracker->SetSurfaceHandle(
data->surface_id,
gfx::GLSurfaceHandle(widget, false));
-#endif

per_compositor_data_[compositor] = data;


Modified: trunk/src/content/common/gpu/image_transport_surface_win.cc
==============================================================================
--- trunk/src/content/common/gpu/image_transport_surface_win.cc (original)
+++ trunk/src/content/common/gpu/image_transport_surface_win.cc Mon Nov 19 17:05:18 2012
@@ -250,8 +250,7 @@
DCHECK(handle.parent_client_id);
surface = new TextureImageTransportSurface(manager, stub, handle);
} else {
- if (handle.transport &&
- gfx::GetGLImplementation() == gfx::kGLImplementationEGLGLES2 &&
+ if (gfx::GetGLImplementation() == gfx::kGLImplementationEGLGLES2 &&
!CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableImageTransportSurface)) {
// This path handles two different cases.
Reply all
Reply to author
Forward
0 new messages