Qt: Add ig4icd32 crash to OpenGL bug database (see #2136)

This commit is contained in:
Vicki Pfau 2023-01-22 17:43:09 -08:00
parent 0d0e92ce59
commit 8c5940e540
3 changed files with 13 additions and 1 deletions

View File

@ -802,7 +802,7 @@ void PainterGL::performDraw() {
m_backend->postFrame(m_backend, m_buffer);
}
m_backend->drawFrame(m_backend);
if (m_showOSD && m_messagePainter) {
if (m_showOSD && m_messagePainter && !glContextHasBug(OpenGLBug::IG4ICD_CRASH)) {
m_painter.begin(m_paintDev.get());
m_messagePainter->paint(&m_painter);
m_painter.end();

View File

@ -31,6 +31,17 @@ bool glContextHasBug(OpenGLBug bug) {
case OpenGLBug::GLTHREAD_BLOCKS_SWAP:
return version.contains(" Mesa ");
case OpenGLBug::IG4ICD_CRASH:
#ifdef Q_OS_WIN
if (vendor != "Intel") {
return false;
}
if (renderer == "Intel Pineview Platform") {
return true;
}
#endif
return false;
default:
return false;
}

View File

@ -10,6 +10,7 @@ namespace QGBA {
enum class OpenGLBug {
CROSS_THREAD_FLUSH, // mgba.io/i/2761
GLTHREAD_BLOCKS_SWAP, // mgba.io/i/2767
IG4ICD_CRASH, // mgba.io/i/2136
};
bool glContextHasBug(OpenGLBug);