summaryrefslogtreecommitdiffstats
path: root/toolkit/modules/Troubleshoot.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/modules/Troubleshoot.jsm')
-rw-r--r--toolkit/modules/Troubleshoot.jsm33
1 files changed, 21 insertions, 12 deletions
diff --git a/toolkit/modules/Troubleshoot.jsm b/toolkit/modules/Troubleshoot.jsm
index cea7c8f29..8d84eec8c 100644
--- a/toolkit/modules/Troubleshoot.jsm
+++ b/toolkit/modules/Troubleshoot.jsm
@@ -419,7 +419,13 @@ var dataProviders = {
.createInstance(Ci.nsIDOMParser)
.parseFromString("<html/>", "text/html");
- function GetWebGLInfo(contextType) {
+ function GetWebGLInfo(data, keyPrefix, contextType) {
+ data[keyPrefix + "Renderer"] = "-";
+ data[keyPrefix + "Version"] = "-";
+ data[keyPrefix + "DriverExtensions"] = "-";
+ data[keyPrefix + "Extensions"] = "-";
+ data[keyPrefix + "WSIInfo"] = "-";
+
let canvas = doc.createElement("canvas");
canvas.width = 1;
canvas.height = 1;
@@ -446,16 +452,22 @@ var dataProviders = {
creationError = e.toString();
}
}
- if (!gl)
- return creationError || "(no info)";
+ if (!gl) {
+ data[keyPrefix + "Renderer"] = creationError || "(no creation error info)";
+ return;
+ }
+ data[keyPrefix + "Extensions"] = gl.getSupportedExtensions().join(" ");
- let infoExt = gl.getExtension("WEBGL_debug_renderer_info");
+ let ext = gl.getExtension("MOZ_debug_get");
// This extension is unconditionally available to chrome. No need to check.
- let vendor = gl.getParameter(infoExt.UNMASKED_VENDOR_WEBGL);
- let renderer = gl.getParameter(infoExt.UNMASKED_RENDERER_WEBGL);
+ let vendor = ext.getParameter(gl.VENDOR);
+ let renderer = ext.getParameter(gl.RENDERER);
- let contextInfo = vendor + " -- " + renderer;
+ data[keyPrefix + "Renderer"] = vendor + " -- " + renderer;
+ data[keyPrefix + "Version"] = ext.getParameter(gl.VERSION);
+ data[keyPrefix + "DriverExtensions"] = ext.getParameter(ext.EXTENSIONS);
+ data[keyPrefix + "WSIInfo"] = ext.getParameter(ext.WSI_INFO);
// Eagerly free resources.
@@ -463,14 +475,11 @@ var dataProviders = {
if (loseExt) {
loseExt.loseContext();
}
-
-
- return contextInfo;
}
- data.webglRenderer = GetWebGLInfo("webgl");
- data.webgl2Renderer = GetWebGLInfo("webgl2");
+ GetWebGLInfo(data, "webgl1", "webgl");
+ GetWebGLInfo(data, "webgl2", "webgl2");
let infoInfo = gfxInfo.getInfo();