summaryrefslogtreecommitdiffstats
path: root/toolkit
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit')
-rw-r--r--toolkit/content/aboutSupport.js15
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutSupport.properties12
-rw-r--r--toolkit/modules/Troubleshoot.jsm33
-rw-r--r--toolkit/modules/tests/browser/browser_Troubleshoot.js26
4 files changed, 69 insertions, 17 deletions
diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
index 4e42a5687..b1d7ab5f6 100644
--- a/toolkit/content/aboutSupport.js
+++ b/toolkit/content/aboutSupport.js
@@ -180,9 +180,12 @@ var snapshotFormatters = {
title = key;
}
}
+ let td = $.new("td", value);
+ td.style["white-space"] = "pre-wrap";
+
return $.new("tr", [
$.new("th", title, "column"),
- $.new("td", value),
+ td,
]);
}
@@ -306,8 +309,16 @@ var snapshotFormatters = {
apzInfo.length
? apzInfo.join("; ")
: localizedMsg(["apzNone"]));
- addRowFromKey("features", "webglRenderer");
+ addRowFromKey("features", "webgl1WSIInfo");
+ addRowFromKey("features", "webgl1Renderer");
+ addRowFromKey("features", "webgl1Version");
+ addRowFromKey("features", "webgl1DriverExtensions");
+ addRowFromKey("features", "webgl1Extensions");
+ addRowFromKey("features", "webgl2WSIInfo");
addRowFromKey("features", "webgl2Renderer");
+ addRowFromKey("features", "webgl2Version");
+ addRowFromKey("features", "webgl2DriverExtensions");
+ addRowFromKey("features", "webgl2Extensions");
addRowFromKey("features", "supportsHardwareH264", "hardwareH264");
addRowFromKey("features", "currentAudioBackend", "audioBackend");
addRowFromKey("features", "direct2DEnabled", "#Direct2D");
diff --git a/toolkit/locales/en-US/chrome/global/aboutSupport.properties b/toolkit/locales/en-US/chrome/global/aboutSupport.properties
index 0bc612b79..564292e3d 100644
--- a/toolkit/locales/en-US/chrome/global/aboutSupport.properties
+++ b/toolkit/locales/en-US/chrome/global/aboutSupport.properties
@@ -71,8 +71,16 @@ gpuRAM = RAM
gpuDriverVersion = Driver Version
gpuDriverDate = Driver Date
gpuActive = Active
-webglRenderer = WebGL Renderer
-webgl2Renderer = WebGL2 Renderer
+webgl1WSIInfo = WebGL 1 Driver WSI Info
+webgl1Renderer = WebGL 1 Driver Renderer
+webgl1Version = WebGL 1 Driver Version
+webgl1DriverExtensions = WebGL 1 Driver Extensions
+webgl1Extensions = WebGL 1 Extensions
+webgl2WSIInfo = WebGL 2 Driver WSI Info
+webgl2Renderer = WebGL 2 Driver Renderer
+webgl2Version = WebGL 2 Driver Version
+webgl2DriverExtensions = WebGL 2 Driver Extensions
+webgl2Extensions = WebGL 2 Extensions
GPU1 = GPU #1
GPU2 = GPU #2
blocklistedBug = Blocklisted due to known issues
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();
diff --git a/toolkit/modules/tests/browser/browser_Troubleshoot.js b/toolkit/modules/tests/browser/browser_Troubleshoot.js
index 7f0069dc9..4124be1fb 100644
--- a/toolkit/modules/tests/browser/browser_Troubleshoot.js
+++ b/toolkit/modules/tests/browser/browser_Troubleshoot.js
@@ -298,12 +298,36 @@ const SNAPSHOT_SCHEMA = {
clearTypeParameters: {
type: "string",
},
- webglRenderer: {
+ webgl1Renderer: {
+ type: "string",
+ },
+ webgl1Version: {
+ type: "string",
+ },
+ webgl1DriverExtensions: {
+ type: "string",
+ },
+ webgl1Extensions: {
+ type: "string",
+ },
+ webgl1WSIInfo: {
type: "string",
},
webgl2Renderer: {
type: "string",
},
+ webgl2Version: {
+ type: "string",
+ },
+ webgl2DriverExtensions: {
+ type: "string",
+ },
+ webgl2Extensions: {
+ type: "string",
+ },
+ webgl2WSIInfo: {
+ type: "string",
+ },
info: {
type: "object",
},