From 674eaa1283a0232d7ef62eaf97f4d250bcbd4c0c Mon Sep 17 00:00:00 2001
From: Ykkrosh The JSON data currently
+has the format shown below. Each entry in the outer array is a single distinct set of device features
+(array of Each feature set is associated with an array of Each device has an The table here shows the features reported for the following devices: The table here shows the features reported for devices with the following GL_RENDERER strings: Different driver versions may have different feature sets,
and we may have conflicting reports from the same driver version.
-There is a column for each distinct set of reported features."extensions" plus hash of implementation-dependent "limits")."devices".
+For each of those devices, we have received a report containing that particular feature set;
+this is effectively just a compression mechanism so we don't have to duplicate the entire
+feature set description when dozens of devices have identical features."os" ("Windows", "Linux", "OS X"),
+a "renderer" (from GL_RENDERER),
+a "vendor" (from GL_VENDOR),
+and a "driver" (typically derived from the appropriate DLL on Windows,
+or sometimes a list of lots of DLLs if we can't figure out which is appropriate,
+or derived from the full GL_VERSION string on Linux).
+[
+ {
+ "devices": [
+ {
+ "driver": "6.14.10.8494",
+ "os": "Windows",
+ "renderer": "AMD 760G",
+ "vendor": "ATI Technologies Inc."
+ }
+ ],
+ "extensions": [
+ "GL_AMD_performance_monitor",
+ ...
+ "WGL_EXT_swap_control"
+ ],
+ "limits": {
+ "GL_ALIASED_LINE_WIDTH_RANGE[0]": "1",
+ ...
+ "GL_VERTEX_PROGRAM_ARB.GL_MAX_PROGRAM_TEMPORARIES_ARB": "160"
+ }
+ },
+ {
+ "devices": [
+ {
+ "driver": "6.14.10.10057",
+ "os": "Windows",
+ "renderer": "AMD M880G with ATI Mobility Radeon HD 4200",
+ "vendor": "ATI Technologies Inc."
+ },
+ {
+ "driver": "6.14.10.10179",
+ "os": "Windows",
+ "renderer": "AMD M880G with ATI Mobility Radeon HD 4250",
+ "vendor": "ATI Technologies Inc."
+ },
+ {
+ "driver": "3.3.10188",
+ "os": "Linux",
+ "renderer": "ATI Mobility Radeon HD 3400 Series",
+ "vendor": "ATI Technologies Inc."
+ },
+ {
+ "driver": "6.14.10.10151",
+ "os": "Windows",
+ "renderer": "ATI Mobility Radeon HD 3400 Series",
+ "vendor": "ATI Technologies Inc."
+ },
+ ...
+ ],
+ "extensions": [
+ "GL_AMDX_debug_output",
+ ...
+ "WGL_EXT_swap_control"
+ ],
+ "limits": {
+ "GL_ALIASED_LINE_WIDTH_RANGE[0]": "1",
+ ...
+ "GL_VERTEX_PROGRAM_ARB.GL_MAX_PROGRAM_TEMPORARIES_ARB": "160"
+ }
+ },
+ ...
+}
+
+
diff --git a/source/tools/webservices/userreport/templates/reports/opengl_device.html b/source/tools/webservices/userreport/templates/reports/opengl_device.html
index 1dbe09398d..6e54a29e1a 100644
--- a/source/tools/webservices/userreport/templates/reports/opengl_device.html
+++ b/source/tools/webservices/userreport/templates/reports/opengl_device.html
@@ -8,11 +8,19 @@ td.true { background: #3f3; }
td.false { background: #f33; }
td.true.alt { background: #2e2; }
td.false.alt { background: #e22; }
+td.changed { font-weight: bold; }
-.device-status ul {
+.devices {
+ vertical-align: top;
+}
+
+.devices ul {
margin: 0;
padding: 0;
- padding-left: 2em;
+ list-style-type: none;
+ font-weight: normal;
+ font-size: smaller;
+ white-space: pre;
}
{% endblock %}
@@ -28,26 +36,30 @@ OpenGL capabilities report
-
-{% for device in selected %}
Green cells indicate supported extensions; red cells indicate non-supported extensions. +Cells are marked with bold when their value differs from the previous cell in the same row.
-Green cells indicate supported extensions; red cells indicate non-supported extensions.
| {% for ext in all_exts %} - {% if not forloop.counter0|mod:30 %} | ||
| {% for device in devices %} - | + |
{{ device.0.device }} ({{ device.0.os }}):
|
|---|---|---|
| {% for device in devices %} - | + |
{{ device.0.device }} ({{ device.0.os }}):
|
| {{ device.2.0|dictget:limit }} + | {{ device.2.0|dictget:limit }} {% endfor %} {% endfor %} |
Supported by:+ | Supported by + {{ usercounts.true }} user{{ usercounts.true|pluralize }}: | ||||||
| Vendor | Renderer + | Users | OS | Driver versions {% for device in values.true|sorteddeviceitems %} - | |||
|---|---|---|---|---|---|---|---|
| {{ device.0.vendor }} | {{ device.0.renderer }} + | {{ device.1.usercount }} | {{ device.0.os }} |
| |||
Not supported by:+ | Not supported by + {{ usercounts.false }} user{{ usercounts.false|pluralize }}: | ||||||
| Vendor | Renderer + | Users | OS | Driver versions {% for device in values.false|sorteddeviceitems %} - | |||
| {{ device.0.vendor }} | {{ device.0.renderer }} + | {{ device.1.usercount }} | {{ device.0.os }} |
| |||
| Value + | Number of users + {% for val in values.keys|sortreversed %} + |
|---|---|
| {{ val|default_if_none:"Unsupported/unknown" }} + | {{ usercounts|dictget:val }} ({% widthratio usercounts|dictget:val num_users 100 %}%) + {% endfor %} + |
Value: {{ val|default_if_none:"Unsupported/unknown" }}+ | Value "{{ val|default_if_none:"Unsupported/unknown" }}" + ({{ usercounts|dictget:val }} user{{ usercounts|dictget:val|pluralize }}): | ||||||
| Vendor | Renderer + | Users | OS | Driver versions @@ -106,9 +145,10 @@ OpenGL capabilities report: {{ feature }} | |||
|---|---|---|---|---|---|---|---|
| {{ device.0.vendor }} | {{ device.0.renderer }} + | {{ device.1.usercount }} | {{ device.0.os }} |
Based on data submitted by players of 0 A.D. - Browse the data here, or download as JSON. +See the index page for more stuff. +Contact Philip Taylor for questions. + +Browse the data here, or download as JSON +(see format description). Feel free to do whatever you want with the data. -See the index page for more stuff. The listed extensions are based on the GL_EXTENSIONS string: we don't show an extension as supported if it's not explicitly advertised, even if GL_VERSION is a version where that extension was folded into the main spec. +The extension support percentages are based on the number of user/device/driver combinations, +from a total of {{ num_users }}. This is obviously hopelessly biased and unrepresentative +so don't read too much into the numbers. + +The listed device names are based on GL_RENDERER, with boring components stripped out. +Driver versions on Windows are determined from DLL versions; if we can't guess which is the +correct DLL then we try to list all the detectable DLLs. Driver versions on Linux are determined +from GL_VERSION, when it's encoded in there. + +Extension supportSort by @@ -80,18 +99,20 @@ Sort by name. +Implementation limits
Device details
| |||