forked from joejulian/gio
f896a72ea1c45d080e851a7f16f273d3ef6df92c
A previous change[0] moved all OpenGL function calls to the internal opengl package, so that Gio can use desktop OpenGL and OpenGL ES (ANGLE) in the same program without confusing the function pointers. However the change also moved the glFlush that constitutes a buffer swap, or present, on macOS. Other platforms don't need the flush, so this change moves it back to macOS-specific code, in glContext.Present where it belongs. It also uses dlopen and dlsym to avoid symbol confusion between Apple's OpenGL framework and ANGLE's libGLESv2.dylib. The motivation is that we're getting rid of the desktop OpenGL backend on macOS in favor of Metal, and so should reduce the number of global special-cases catering to that platform. [0] https://gioui.org/commit/476d2269a Signed-off-by: Elias Naur <mail@eliasnaur.com>
Gio - https://gioui.org
Immediate mode GUI programs in Go for Android, iOS, macOS, Linux, FreeBSD, OpenBSD, Windows, and WebAssembly (experimental).
Installation, examples, documentation
Go to gioui.org.
Issues
File bugs and TODOs through the issue tracker or send an email to ~eliasnaur/gio@todo.sr.ht. For general discussion, use the mailing list: ~eliasnaur/gio@lists.sr.ht.
Contributing
Post discussion to the mailing list and patches to gio-patches. No Sourcehut account is required and you can post without being subscribed.
See the contribution guide for more details.
An official GitHub mirror is available.
Description
Languages
Go
89.6%
C
7%
Java
1.7%
Objective-C
1.6%