Open LuismaSP89 opened 6 years ago
xBRZ is GPLv3 and will therefore likely never be included with the project.
For more info on this matter, see here: http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Number=360520
What needs to happen is that someone rebuild the xBRZ shaders for BGFX and package them external to the MAME project.
That doesn't mean that we can't ask them to grant the MAME team use of the shaders under a different license, @stilett0. I'll do exactly that this weekend, I figure the author is probably a reasonable enough person.
That's ultimately what will be necessary, because there are only so many ways to implement the algorithm, and any reasonable implementation would be a largely mechanical conversion of the existing shaders, which would not be a distinct enough work for me to claim license.
okay, yeah, that would work too. :)
@stilett0 I know that thread, (In fact, I´m the same LuismaSP89 that commented on it some time ago xD.
Btw, I talked a few times with Zenju about the possibility to export his xbrz plugin to MAME, and he´s totally agree, but he doesn´t have the time to do it, and he loves to see his plugin exported to other emulators (SCVUMM, SNES9x,etc) like you can see here: "https://sourceforge.net/p/xbrz/forums/general/thread/018b594a/" or here "https://sourceforge.net/p/xbrz/forums/general/thread/15c6c60c/"
So, the GPLv3 doesn´t matter here, if someone of the MAME devs are able to implement the xbrz into MAME, I´m totally sure that Zenju agrees.
All the same, we'd need the actual relicensing in writing from Zenju before it could be committed to MAME's repository. I'll try to find time to look into porting it over this weekend so that there's something to relicense.
Robbert is shipping the GLSL versions of shaders with ARCADE afaik, so presumably he's worked out an agreement with the Author. They should be safe to import from ARCADE.
The 6xBRZ.vsh file in ARCADE carries a GPLv2 header
so either an agreement was found, or he's going behind peoples backs? Assuming the license is correct, it should be 100% legal to port that to BGFX / HLSL. http://arcade.mameworld.info/arcade201_64bit.7z see glsl folder
@DavidHaywood
The same thing as here in the official forum of Zenju´s Xbrz in .vsh format: https://sourceforge.net/p/xbrz/forums/general/thread/5825b2aa/
Or here, in .json format for BGFX (Working before MAME 0.193): http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Number=355102&page=0&view=expanded&sb=5&o=&vc=1
As you can see in my previous post Zenju is a reasonable person, he only wants to have his work recognized and if you use his xbrz at least have a mention to him, which is totally normal. Not in vain xbrz is used in a lot of emulators (PPSSPP, Snes9x, Punes, GlideN64 for N64 emulators, SCVMM, Kega fusion, Pete´s opengl2 tweak for epsxe, or pcsx, DOSBOX, etc)
GPLv3 GLSL shaders can be included with MAME because they're purely external data files. The fact that BGFX has to translate and compile shaders for its various backends is what's causing the issue here.
Info: New Xbrz version 1.7 released last month
changelog:
Fixed asymmetric color distance New parameter: "Center direction bias"
Since the BGFX is the most updated and faster backend of MAME, I think it needs to update the xbr filters on it.
After MAME 0.192, the existing custom shaders for MAME stopped working, because a change in the BFGX backend. But I think is time to include it by default in the MAME builds.
Here´s a comparison between the xbr 3lvl included in MAME and a custom 6xbrz shader, you can see a huge difference in the letters, numbers, and all the edges:
xbrz lvl3:
6brxz: