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

Unified Diff: content/renderer/renderer_blink_platform_impl.cc

Issue 2456213002: WebVR: implement SetSurfaceHandleCHROMIUM extension for gvr_device.
Patch Set: Rebase, set dependency. Created 3 years, 11 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
« no previous file with comments | « no previous file | gpu/GLES2/gl2chromium_autogen.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3d91912d563004b9334418bdb9400f8a6b6b2ad5..b7092f74685ba05e5e2b579a7f01384fd930bc99 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -1020,17 +1020,30 @@ RendererBlinkPlatformImpl::createOffscreenGraphicsContext3DProvider(
// This is an offscreen context, which doesn't use the default frame buffer,
// so don't request any alpha, depth, stencil, antialiasing.
gpu::gles2::ContextCreationAttribHelper attributes;
- attributes.alpha_size = -1;
- attributes.depth_size = 0;
- attributes.stencil_size = 0;
- attributes.samples = 0;
- attributes.sample_buffers = 0;
+
+ if (web_attributes.supportOwnOffscreenSurface) {
+ attributes.own_offscreen_surface = true;
+ attributes.low_priority = true;
+ // TODO(klausw): currently, alpha is available even when not requested.
+ attributes.alpha_size = web_attributes.supportAlpha ? 8 : -1;
+ attributes.depth_size = web_attributes.supportDepth ? 24 : 0;
+ attributes.stencil_size = web_attributes.supportStencil ? 8 : 0;
+ attributes.samples = web_attributes.supportAntialias ? 4 : 0;
+ attributes.sample_buffers = 0;
+ } else {
+ attributes.alpha_size = -1;
+ attributes.depth_size = 0;
+ attributes.stencil_size = 0;
+ attributes.samples = 0;
+ attributes.sample_buffers = 0;
+ }
attributes.bind_generates_resource = false;
// Prefer discrete GPU for WebGL.
attributes.gpu_preference = gl::PreferDiscreteGpu;
attributes.fail_if_major_perf_caveat =
web_attributes.failIfMajorPerformanceCaveat;
+
DCHECK_GT(web_attributes.webGLVersion, 0u);
DCHECK_LE(web_attributes.webGLVersion, 2u);
if (web_attributes.webGLVersion == 2)
« no previous file with comments | « no previous file | gpu/GLES2/gl2chromium_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698