As far I could test, all Libretro shader ports - except those with a black screen - work quite the same as in RetroArch (This actually might not be true because the UI made me crazy...)
However, they only work "correctly" with the dx11/d3d11 (DirectX 11) and the gles (OpenGL ES) backend.
The opengl/glsl (OpenGL) backend causes some kind of grayscale image, which is really strange because OpenGL ES is just a subset of OpenGL and the code should work the same without modification. I could not figure out how to fix that.
The dx9/d3d9 (DirectX 9) backend does not show a grayscale-ish image but has another known issue, the half texel offset. This can only be fixed by modifying every single shader and will be a pain in the ass. I would rather prefer to put the BGFX DX9 backend to rest.