Index: content/renderer/renderer_blink_platform_impl.cc |
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc |
index 242a5950a3c6cca3b1b844a75efd806d3955dfcf..0152cd177122dacc554fa2d4446570022ec67736 100644 |
--- a/content/renderer/renderer_blink_platform_impl.cc |
+++ b/content/renderer/renderer_blink_platform_impl.cc |
@@ -936,6 +936,14 @@ blink::WebGraphicsContext3D* |
RendererBlinkPlatformImpl::createOffscreenGraphicsContext3D( |
const blink::WebGraphicsContext3D::Attributes& attributes, |
blink::WebGraphicsContext3D* share_context) { |
+ return createOffscreenGraphicsContext3D(attributes, share_context, NULL); |
+} |
+ |
+blink::WebGraphicsContext3D* |
+RendererBlinkPlatformImpl::createOffscreenGraphicsContext3D( |
+ const blink::WebGraphicsContext3D::Attributes& attributes, |
+ blink::WebGraphicsContext3D* share_context, |
+ blink::WebGLInfo* gl_info) { |
if (!RenderThreadImpl::current()) |
return NULL; |
@@ -956,6 +964,15 @@ RendererBlinkPlatformImpl::createOffscreenGraphicsContext3D( |
RenderThreadImpl::current()->EstablishGpuChannelSync( |
CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE)); |
+ if (gpu_channel_host.get() && gl_info) { |
+ const gpu::GPUInfo& gpu_info = gpu_channel_host->gpu_info(); |
+ gl_info->vendorInfo.assign(blink::WebString::fromUTF8(gpu_info.gl_vendor)); |
+ gl_info->rendererInfo.assign( |
+ blink::WebString::fromUTF8(gpu_info.gl_renderer)); |
+ gl_info->driverVersion.assign( |
+ blink::WebString::fromUTF8(gpu_info.gl_version)); |
+ } |
+ |
WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits limits; |
bool lose_context_when_out_of_memory = false; |
scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context( |