Browse Source

Custom OpenGL buglist to workaround broken OpenGL drivers in Windows

For issue #2776
QGC4.4
Nate Weibley 9 years ago
parent
commit
7dd2c4d8a0
  1. 3
      qgcresources.qrc
  2. 48
      resources/opengl/buglist.json
  3. 3
      src/main.cc

3
qgcresources.qrc

@ -236,4 +236,7 @@ @@ -236,4 +236,7 @@
<qresource prefix="/FirmwarePlugin/APM">
<file alias="apm.pdef.xml">src/FirmwarePlugin/APM/apm.pdef.xml</file>
</qresource>
<qresource prefix="/opengl">
<file>resources/opengl/buglist.json</file>
</qresource>
</RCC>

48
resources/opengl/buglist.json

@ -0,0 +1,48 @@ @@ -0,0 +1,48 @@
{
"name": "QGroundControl OpenGL Driver Blacklist",
"version": "5.5",
"entries": [
{
"id": 1,
"description": "Desktop OpenGL is unreliable on some Intel HD laptops (QTBUG-43263, QTBUG-42240)",
"vendor_id": "0x8086",
"device_id": [ "0x0A16" ],
"os": {
"type": "win"
},
"driver_version": {
"op": "<=",
"value": "10.18.10.3277"
},
"features": [
"disable_desktopgl"
]
},
{
"id": 2,
"description": "Desktop OpenGL is unreliable on some Intel Mobile GMA Devices",
"vendor_id": "0x8086",
"device_id": [ "0x2972", "0x2973",
"0x2992", "0x2993",
"0x29A2", "0x29A3",
"0x2982", "0x2983",
"0x2A02", "0x2A03", "0x2A12", "0x2A13",
"0x2E42", "0x2E43", "0x2E92", "0x2E93",
"0x2E12", "0x2E13",
"0x2E32", "0x2E33",
"0x2E22", "0x2E23",
"0x2A42", "0x2A43"
],
"os": {
"type": "win"
},
"driver_version": {
"op": "<=",
"value": "8.15.10.2702"
},
"features": [
"disable_desktopgl"
]
}
]
}

3
src/main.cc

@ -203,6 +203,9 @@ int main(int argc, char *argv[]) @@ -203,6 +203,9 @@ int main(int argc, char *argv[])
// hanging.
DWORD dwMode = SetErrorMode(SEM_NOGPFAULTERRORBOX);
SetErrorMode(dwMode | SEM_NOGPFAULTERRORBOX);
// Set our own OpenGL buglist
qputenv("QT_OPENGL_BUGLIST", ":/opengl/resources/opengl/buglist.json");
}
#endif
#endif // QT_DEBUG

Loading…
Cancel
Save