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

Unified Diff: content/browser/compositor/gpu_process_transport_factory.cc

Issue 1251783002: Mac Overlays: Wire up overlays on Mac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@part22
Patch Set: Leave disabled for now Created 5 years, 5 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/browser/compositor/gpu_process_transport_factory.cc
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
index a6d18220786b8454cdf8339c2d339b8b2b3c7a5f..3443c43476ef8bc070c135a12071b013d80c1e86 100644
--- a/content/browser/compositor/gpu_process_transport_factory.cc
+++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -64,6 +64,7 @@
#include "content/browser/compositor/software_output_device_x11.h"
#elif defined(OS_MACOSX)
#include "content/browser/compositor/software_output_device_mac.h"
+#include "ui/base/cocoa/remote_layer_api.h"
#endif
using cc::ContextProvider;
@@ -277,15 +278,23 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
context_provider, compositor->vsync_manager(),
scoped_ptr<BrowserCompositorOverlayCandidateValidator>()));
} else if (capabilities.gpu.surfaceless) {
+ GLenum target = GL_TEXTURE_2D;
+ GLenum format = GL_RGB;
+#if defined(OS_MACOSX)
+ target = GL_TEXTURE_RECTANGLE_ARB;
+ format = GL_BGRA_EXT;
+#endif
surface =
make_scoped_ptr(new GpuSurfacelessBrowserCompositorOutputSurface(
context_provider, data->surface_id, compositor->vsync_manager(),
- CreateOverlayCandidateValidator(compositor->widget()),
- GL_TEXTURE_2D, GL_RGB, BrowserGpuMemoryBufferManager::current()));
+ CreateOverlayCandidateValidator(compositor->widget()), target,
+ format, BrowserGpuMemoryBufferManager::current()));
} else {
- surface = make_scoped_ptr(new GpuBrowserCompositorOutputSurface(
- context_provider, compositor->vsync_manager(),
- CreateOverlayCandidateValidator(compositor->widget())));
+ if (!surface) {
+ surface = make_scoped_ptr(new GpuBrowserCompositorOutputSurface(
+ context_provider, compositor->vsync_manager(),
+ CreateOverlayCandidateValidator(compositor->widget())));
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698