I haven't installed FF7 so I cannot test it and I've never written a GL fragment shader. But some time ago I emulated the old BSNES gamma procedure in cg.
I tried to copy it to GL by editing the bloom2 shader:
// very simple bloom shader, shamelessly stolen from http://myheroics.wordpress.com/
uniform sampler2D tex;
uniform float width;
uniform float height;
void main()
{
vec2 texcoord = vec2(gl_TexCoord[0]);
vec3 res = texture2D(tex, texcoord).xyz;
res = (res > 0.5) ? res : pow(res * 2, vec3(1.5))*0.5;
gl_FragColor = vec4(res, 1.0);
}
But as I said I can't test it on my system. So yours might explode :p If I got the correct syntax at all.
If it does not work you might ask the guys at the libretro.com forum in the shader section.