Index: content/common/gpu/image_transport_surface_calayer_mac.mm |
diff --git a/content/common/gpu/image_transport_surface_calayer_mac.mm b/content/common/gpu/image_transport_surface_calayer_mac.mm |
index 37354607502d3de3dd67f1832110acf6ec7212e7..f329e004ea52127ffe3cdd97d1831e41279311f6 100644 |
--- a/content/common/gpu/image_transport_surface_calayer_mac.mm |
+++ b/content/common/gpu/image_transport_surface_calayer_mac.mm |
@@ -4,6 +4,8 @@ |
#include "content/common/gpu/image_transport_surface_calayer_mac.h" |
+#include <OpenGL/CGLRenderers.h> |
+ |
#include "base/command_line.h" |
#include "base/mac/sdk_forward_declarations.h" |
#include "content/common/gpu/surface_handle_types_mac.h" |
@@ -291,6 +293,14 @@ void CALayerStorageProvider::LayerDoDraw() { |
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); |
glDisable(GL_TEXTURE_RECTANGLE_ARB); |
+ GLint current_renderer_id = 0; |
+ if (CGLGetParameter(CGLGetCurrentContext(), |
+ kCGLCPCurrentRendererID, |
+ ¤t_renderer_id) == kCGLNoError) { |
+ current_renderer_id &= kCGLRendererIDMatchingMask; |
+ transport_surface_->SetRendererID(current_renderer_id); |
+ } |
+ |
// Allow forward progress in the context now that the swap is complete. |
UnblockBrowserIfNeeded(); |
} |