gsdx-ogl: Fix scanline, diagonal, triangular TV shaders

PSin.p is normalised, so integer conversions won't work. Use
gl_FragCoord instead.
This commit is contained in:
Jonathan Li 2015-10-25 14:02:16 +00:00
parent 50e6306331
commit 1659d5974e
2 changed files with 6 additions and 6 deletions

View File

@ -326,7 +326,7 @@ vec4 ps_scanlines(uint i)
void ps_main5() // scanlines
{
highp uvec4 p = uvec4(PSin_p);
highp uvec4 p = uvec4(gl_FragCoord);
vec4 c = ps_scanlines(p.y % 2u);
@ -337,7 +337,7 @@ void ps_main5() // scanlines
#ifdef ps_main6
void ps_main6() // diagonal
{
highp uvec4 p = uvec4(PSin_p);
highp uvec4 p = uvec4(gl_FragCoord);
vec4 c = ps_crt((p.x + (p.y % 3u)) % 3u);
@ -348,7 +348,7 @@ void ps_main6() // diagonal
#ifdef ps_main8
void ps_main8() // triangular
{
highp uvec4 p = uvec4(PSin_p);
highp uvec4 p = uvec4(gl_FragCoord);
vec4 c = ps_crt(((p.x + ((p.y >> 1u) & 1u) * 3u) >> 1u) % 3u);

View File

@ -351,7 +351,7 @@ static const char* convert_glsl =
"\n"
"void ps_main5() // scanlines\n"
"{\n"
" highp uvec4 p = uvec4(PSin_p);\n"
" highp uvec4 p = uvec4(gl_FragCoord);\n"
"\n"
" vec4 c = ps_scanlines(p.y % 2u);\n"
"\n"
@ -362,7 +362,7 @@ static const char* convert_glsl =
"#ifdef ps_main6\n"
"void ps_main6() // diagonal\n"
"{\n"
" highp uvec4 p = uvec4(PSin_p);\n"
" highp uvec4 p = uvec4(gl_FragCoord);\n"
"\n"
" vec4 c = ps_crt((p.x + (p.y % 3u)) % 3u);\n"
"\n"
@ -373,7 +373,7 @@ static const char* convert_glsl =
"#ifdef ps_main8\n"
"void ps_main8() // triangular\n"
"{\n"
" highp uvec4 p = uvec4(PSin_p);\n"
" highp uvec4 p = uvec4(gl_FragCoord);\n"
"\n"
" vec4 c = ps_crt(((p.x + ((p.y >> 1u) & 1u) * 3u) >> 1u) % 3u);\n"
"\n"