Explorar o código

Merge pull request #2231 from ftphikari/master

sys/windows: fix wgl function loading in accordance with OpenGL wiki
Jeroen van Rijn %!s(int64=2) %!d(string=hai) anos
pai
achega
37ec3d7006
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      core/sys/windows/wgl.odin

+ 8 - 1
core/sys/windows/wgl.odin

@@ -87,6 +87,13 @@ foreign Opengl32 {
 }
 
 // Used by vendor:OpenGL
+// https://www.khronos.org/opengl/wiki/Load_OpenGL_Functions#Windows
 gl_set_proc_address :: proc(p: rawptr, name: cstring) {
-	(^rawptr)(p)^ = wglGetProcAddress(name)
+	func := wglGetProcAddress(name)
+	switch uintptr(func) {
+	case 0, 1, 2, 3, ~uintptr(0):
+		module := LoadLibraryW(L("opengl32.dll"))
+		func = GetProcAddress(module, name)
+	}
+	(^rawptr)(p)^ = func
 }