Pencil.Gaming icon indicating copy to clipboard operation
Pencil.Gaming copied to clipboard

Consider incorporating GLFW 3.1, GLFW 3.2 features

Open leafi opened this issue 8 years ago • 5 comments

(The really interesting part is Vulkan support in the not-yet-released GLFW 3.2, of course. But someone somewhere probably really wants one of the additional GLFW 3.1 features.)

https://github.com/leafi/Pencil.Gaming/commit/694fc68b1840f330cc697bf022b845007112ecaa is a commit you probably don't want to import verbatim that adds bindings for everything from GLFW 3.1 and GLFW 3.2, except for the custom cursor stuff.

It's completely untested and misses any kind of attributes to e.g. indicate this function is only present from a certain version of GLFW onwards, and e.g. checking the version of GLFW against it.

Some type bindings may also not be to your satisfaction.

Take what you want from it, and drop what you don't. I just went down the list of http://www.glfw.org/docs/3.2/news.html#news_32 basically. And thanks for having these bindings in the first place!

Much love! <3

leafi avatar Mar 14 '16 22:03 leafi

Pretty cool, thanks for bringing this up!

Pencil.Gaming hasn't really been much of a focus for me, but support for 3.1 and 3.2 would definitely be good. Going forward, I'd actually be happy dropping GLFW 2.0 entirely from Pencil. Maintaining all the native libraries which are checked into git is a bit of a pain.. I'd also drop 32 bit support except for the fact that the 32 bit mono is very widespread.. and people have a lot of trouble crosscompiling, so I feel like it's necessary to ship with the libraries.

If anyone wants to take this up, I'd definitely approve!

andykorth avatar Mar 28 '16 16:03 andykorth

This is actually pretty high priority atm since one of my collabs is running on Ubuntu and Glfw 3.0.1 dll throws x error: badmatch in glxmakecurrent serial number of failed request: 101 when you call Glfw.CreateWindow. Replacing the so file with the one from 3.2.1 seems to fix it but no idea if we will get some unforseen bugs because of the header file difference.

See #47

MunWolf avatar Oct 04 '16 02:10 MunWolf

If anyone could be so kind as you provide 32- and 64-bit Mac OS X dylibs for GLFW 3.2.1, I could test and merge the glfw-3.2.1 branch into develop pretty soon.

antonijn avatar Jul 17 '17 11:07 antonijn

Here you go: /Users/kortham/projects/glfw-3.2.1/src/libglfw.3.2.dylib: Mach-O 64-bit dynamically linked shared library x86_64 http://kortham.net/temp/libglfw.3.2.dylib

kortham@Turing ~/projects/glfw-3.2.1/src$ file libglfw.x86.3.2xdylib libglfw.x86.3.2xdylib: Mach-O dynamically linked shared library i386 http://kortham.net/temp/libglfw.x86.3.2xdylib

I was going to suggest against providing 32 bit libraries, since it's likely Apple will be dropping support for them in OS X in the next few years. (They're dropping 32 bit support from iOS 11, and they announced removal of 32 bit apps from the MAS in Jan 2018) 10.6 in 2009 was the last OS to support 32 bit processors.

Unfortunately, it seems the default mono install is still 32 bit: http://www.mono-project.com/docs/about-mono/supported-platforms/osx/#32-and-64-bit-support

andykorth avatar Jul 17 '17 15:07 andykorth

If people could test the develop branch on Windows and OS X that would be much appreciated! :D

antonijn avatar Jul 18 '17 19:07 antonijn