The Halation shader is working well. Except it takes a little while (10-15 seconds) for it to load on an OpenGL capable Intel chipset. And about 1.5 seconds on an Nvidia chipset.
I've really just taken the CRT-geom shader in Mame, stripped it to just the CRT curvature code (which took a good hour of analysing) which can be applied to almost anything, it just needs be used to multiply the final pixel colour of something else. And then bumped that into the Halation shader after stripping out the warp code.
Next I need to optimize that.
Iwish I knew enough about C++ and Mame to be able to just link in the HLSL2GLSL library. And then add all the cool menu options that are in the Windows code.
In the mean time, I'll continue tweaking the shaders while trying to keep them just under that limit. It doesn't seem likely that we would need much more than that to be honest.