I looked into your source code of crt-geom/deluxe and still have some noob questions about it. In your source, i found some irritating stuff, like this in the fs_crt-geom.sc file for example:
// Enable 3x oversampling of the beam profile
// Use the older, purely gaussian beam profile
AFAIK, in the "old" GLSL version of the shader, only one option should be enabled at once and the other needs to be commented out. In my documentation it is stated like this:
// Enable just one of the following profiles and comment out the other profile.
// Oversample makes better results, but needs a good graphics-card.
Same is true, for the LINEAR_PROCESSING, commenting it out, makes the shader faster, but AFAIK produce lower quality.
Right now, i would assume that BGFX is calculating both processes.
Would not we need only one "Tilt" parameter, with the correct use of the "u_swap_xy function"? .
If we use this function, the "Tilt" should be always correctly oriented and if the rotation info (90 or 270) from a game could be retrieved, only positive values would matter. In my thoughts, this would lead to a single "Tilt" parameter, that would always tilt in the desired direction and would work for every game.
Anyway, the new version from you, is looking awesome and a nice comparison "side-to-side" to HLSL.