mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Merge pull request #1544 from linkmauve/move-glad-init
Move glad initialisation to the frontend
This commit is contained in:
		
						commit
						8043a35cf9
					
				
					 3 changed files with 18 additions and 6 deletions
				
			
		|  | @ -9,6 +9,8 @@ | |||
| #define SDL_MAIN_HANDLED | ||||
| #include <SDL.h> | ||||
| 
 | ||||
| #include <glad/glad.h> | ||||
| 
 | ||||
| #include "common/key_map.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "common/scm_rev.h" | ||||
|  | @ -98,6 +100,11 @@ EmuWindow_SDL2::EmuWindow_SDL2() { | |||
|         exit(1); | ||||
|     } | ||||
| 
 | ||||
|     if (!gladLoadGLLoader(static_cast<GLADloadproc>(SDL_GL_GetProcAddress))) { | ||||
|         LOG_CRITICAL(Frontend, "Failed to initialize GL functions! Exiting..."); | ||||
|         exit(1); | ||||
|     } | ||||
| 
 | ||||
|     OnResize(); | ||||
|     OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size); | ||||
|     SDL_PumpEvents(); | ||||
|  |  | |||
|  | @ -6,6 +6,9 @@ | |||
| #include <memory> | ||||
| #include <thread> | ||||
| 
 | ||||
| #include <glad/glad.h> | ||||
| 
 | ||||
| #define QT_NO_OPENGL | ||||
| #include <QDesktopWidget> | ||||
| #include <QtGui> | ||||
| #include <QFileDialog> | ||||
|  | @ -240,6 +243,14 @@ bool GMainWindow::InitializeSystem() { | |||
|     if (emu_thread != nullptr) | ||||
|         ShutdownGame(); | ||||
| 
 | ||||
|     render_window->MakeCurrent(); | ||||
|     if (!gladLoadGL()) { | ||||
|         QMessageBox::critical(this, tr("Error while starting Citra!"), | ||||
|                               tr("Failed to initialize the video core!\n\n" | ||||
|                                  "Please ensure that your GPU supports OpenGL 3.3 and that you have the latest graphics driver.")); | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     // Initialize the core emulation
 | ||||
|     System::Result system_result = System::Init(render_window); | ||||
|     if (System::Result::Success != system_result) { | ||||
|  |  | |||
|  | @ -473,12 +473,6 @@ static void DebugHandler(GLenum source, GLenum type, GLuint id, GLenum severity, | |||
| bool RendererOpenGL::Init() { | ||||
|     render_window->MakeCurrent(); | ||||
| 
 | ||||
|     // TODO: Make frontends initialize this, so they can use gladLoadGLLoader with their own loaders
 | ||||
|     if (!gladLoadGL()) { | ||||
|         LOG_CRITICAL(Render_OpenGL, "Failed to initialize GL functions! Exiting..."); | ||||
|         exit(-1); | ||||
|     } | ||||
| 
 | ||||
|     if (GLAD_GL_KHR_debug) { | ||||
|         glEnable(GL_DEBUG_OUTPUT); | ||||
|         glDebugMessageCallback(DebugHandler, nullptr); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue