From bffe01ee161acd842855809fd8c743d2e8e5566f Mon Sep 17 00:00:00 2001 From: David Manthey Date: Thu, 1 Nov 2018 10:12:22 -0400 Subject: [PATCH] Record the unmasked renderer used with webgl. This can be reached via `geo.registries.renderers.vgl._unmaskedRenderer`. --- src/gl/vglRenderer.js | 9 ++++++++- src/util/mockVGL.js | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/gl/vglRenderer.js b/src/gl/vglRenderer.js index c766957371..c7616d7b42 100644 --- a/src/gl/vglRenderer.js +++ b/src/gl/vglRenderer.js @@ -341,7 +341,14 @@ vglRenderer.supported = function () { canvas = document.createElement('canvas'); ctx = (canvas.getContext('webgl') || canvas.getContext('experimental-webgl')); - exts = ctx.getSupportedExtensions(); // used for side effects + /* getSupportExtensions will throw an exception if the context isn't + * really supported. */ + exts = ctx.getSupportedExtensions(); + /* If available, store the unmasked renderer to aid in debugging. */ + if (exts.indexOf('WEBGL_debug_renderer_info') >= 0) { + vglRenderer._unmaskedRenderer = ctx.getParameter(ctx.getExtension( + 'WEBGL_debug_renderer_info').UNMASKED_RENDERER_WEBGL); + } checkedWebGL = true; } catch (e) { console.warn('No webGL support'); diff --git a/src/util/mockVGL.js b/src/util/mockVGL.js index 5d610aa432..3605569a3d 100644 --- a/src/util/mockVGL.js +++ b/src/util/mockVGL.js @@ -107,6 +107,10 @@ module.exports.mockVGLRenderer = function mockVGLRenderer(supported) { return true; } }, + getSupportedExtensions: function () { + count('getSupportedExtensions'); + return []; + }, getUniformLocation: incID('getUniformLocation'), isEnabled: function (key) { count('isEnabled');