Răsfoiți Sursa

OpenGL 3+ on OSX with GLFW

archshift 12 ani în urmă
părinte
comite
c1b770cc0d
2 a modificat fișierele cu 10 adăugiri și 1 ștergeri
  1. 8 1
      src/citra/emu_window/emu_window_glfw.cpp
  2. 2 0
      src/video_core/video_core.cpp

+ 8 - 1
src/citra/emu_window/emu_window_glfw.cpp

@@ -27,11 +27,18 @@ EmuWindow_GLFW::EmuWindow_GLFW() {
         exit(1);
     }
     glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
-    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
+    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
+	glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
+	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
     m_render_window = glfwCreateWindow(VideoCore::kScreenTopWidth, 
         (VideoCore::kScreenTopHeight + VideoCore::kScreenBottomHeight), 
         m_window_title.c_str(), NULL, NULL);
 
+	if (m_render_window == NULL) {
+		printf("Failed to create GLFW window! Exiting...");
+		exit(1);
+	}
+	
     // Setup callbacks
     glfwSetWindowUserPointer(m_render_window, this);
     //glfwSetKeyCallback(m_render_window, OnKeyEvent);

+ 2 - 0
src/video_core/video_core.cpp

@@ -30,6 +30,8 @@ void Start() {
 
 /// Initialize the video core
 void Init(EmuWindow* emu_window) {
+	glewExperimental = GL_TRUE;
+	
     g_emu_window = emu_window;
     g_emu_window->MakeCurrent();
     g_renderer = new RendererOpenGL();