mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	bootmanager: Log and show GL_RENDERER string when GPU is insufficient
Changes the first message to not include the OpenGL version, as the error is caused by OpenGL failing to load. Adds a new check for OpenGL version 4.3. This will display a message with a similar error as well as the GL_RENDERER string. Adds a CRITICAL log message when triggered. This prevents a crash with yuzu trying to use older OpenGL versions. Modifies the unsupported extension message to output the GL_RENDERER string in the message, as well as logging the string.
This commit is contained in:
		
							parent
							
								
									9b24197ca0
								
							
						
					
					
						commit
						945cfe234b
					
				| @ -10,6 +10,7 @@ | ||||
| #include <QMessageBox> | ||||
| #include <QPainter> | ||||
| #include <QScreen> | ||||
| #include <QString> | ||||
| #include <QStringList> | ||||
| #include <QWindow> | ||||
| 
 | ||||
| @ -603,19 +604,34 @@ bool GRenderWindow::LoadOpenGL() { | ||||
|     auto context = CreateSharedContext(); | ||||
|     auto scope = context->Acquire(); | ||||
|     if (!gladLoadGL()) { | ||||
|         QMessageBox::critical( | ||||
|             this, tr("Error while initializing OpenGL!"), | ||||
|             tr("Your GPU may not support OpenGL, or you do not have the latest graphics driver.")); | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     QString renderer = QString::fromUtf8(reinterpret_cast<const char*>(glGetString(GL_RENDERER))); | ||||
| 
 | ||||
|     if (!GLAD_GL_VERSION_4_3) { | ||||
|         LOG_CRITICAL(Frontend, "GPU does not support OpenGL 4.3: {:s}", renderer.toStdString()); | ||||
|         QMessageBox::critical(this, tr("Error while initializing OpenGL 4.3!"), | ||||
|                               tr("Your GPU may not support OpenGL 4.3, or you do not have the " | ||||
|                                  "latest graphics driver.")); | ||||
|                                  "latest graphics driver.<br><br>GL Renderer:<br>%1") | ||||
|                                   .arg(renderer)); | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     QStringList unsupported_gl_extensions = GetUnsupportedGLExtensions(); | ||||
|     if (!unsupported_gl_extensions.empty()) { | ||||
|         LOG_CRITICAL(Frontend, "GPU does not support all needed extensions: {:s}", | ||||
|                      renderer.toStdString()); | ||||
|         QMessageBox::critical( | ||||
|             this, tr("Error while initializing OpenGL!"), | ||||
|             tr("Your GPU may not support one or more required OpenGL extensions. Please ensure you " | ||||
|                "have the latest graphics driver.<br><br>Unsupported extensions:<br>") + | ||||
|                 unsupported_gl_extensions.join(QStringLiteral("<br>"))); | ||||
|                "have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported " | ||||
|                "extensions:<br>%2") | ||||
|                 .arg(renderer) | ||||
|                 .arg(unsupported_gl_extensions.join(QStringLiteral("<br>")))); | ||||
|         return false; | ||||
|     } | ||||
|     return true; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 lat9nq
						lat9nq