mirror of https://github.com/PCSX2/pcsx2.git
gsdx ogl: another HLE channel effect for terminator 3
Same as before but with a different fbmask value (I don't know why but I have the feeling that I might need the others value too)
This commit is contained in:
parent
1c21ea955c
commit
a7ba779ba8
|
@ -722,6 +722,10 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
|
|||
GL_INS("Terminator 3 G4B4 Channel");
|
||||
ps_sel.channel = 6;
|
||||
m_context->FRAME.FBMSK = 0x00FFFFFF;
|
||||
} else if (m_context->FRAME.FBMSK == 0x80FFFFFF) {;
|
||||
GL_INS("Terminator 3 G7B1 Channel");
|
||||
ps_sel.channel = 5;
|
||||
m_context->FRAME.FBMSK = 0x00FFFFFF;
|
||||
} else {
|
||||
GL_INS("Red channel");
|
||||
ps_sel.channel = 1;
|
||||
|
|
|
@ -345,6 +345,14 @@ vec4 fetch_rgb()
|
|||
return c * 255.0f;
|
||||
}
|
||||
|
||||
vec4 fetch_g7b1()
|
||||
{
|
||||
vec4 rt = fetch_raw_color() * 255.0f;
|
||||
uint g7 = (uint(rt.g) >> 1u) & 0x7Fu;
|
||||
uint b1 = (uint(rt.b) << 7u) & 0x80u;
|
||||
return vec4(float(g7 | b1));
|
||||
}
|
||||
|
||||
vec4 fetch_g4b4()
|
||||
{
|
||||
vec4 rt = fetch_raw_color() * 255.0f;
|
||||
|
@ -522,6 +530,8 @@ vec4 ps_color()
|
|||
vec4 T = fetch_blue();
|
||||
#elif PS_CHANNEL_FETCH == 4
|
||||
vec4 T = fetch_alpha();
|
||||
#elif PS_CHANNEL_FETCH == 5
|
||||
vec4 T = fetch_g7b1();
|
||||
#elif PS_CHANNEL_FETCH == 6
|
||||
vec4 T = fetch_g4b4();
|
||||
#elif PS_CHANNEL_FETCH == 7
|
||||
|
|
|
@ -1189,6 +1189,14 @@ static const char* const tfx_fs_all_glsl =
|
|||
" return c * 255.0f;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"vec4 fetch_g7b1()\n"
|
||||
"{\n"
|
||||
" vec4 rt = fetch_raw_color() * 255.0f;\n"
|
||||
" uint g7 = (uint(rt.g) >> 1u) & 0x7Fu;\n"
|
||||
" uint b1 = (uint(rt.b) << 7u) & 0x80u;\n"
|
||||
" return vec4(float(g7 | b1));\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"vec4 fetch_g4b4()\n"
|
||||
"{\n"
|
||||
" vec4 rt = fetch_raw_color() * 255.0f;\n"
|
||||
|
@ -1366,6 +1374,8 @@ static const char* const tfx_fs_all_glsl =
|
|||
" vec4 T = fetch_blue();\n"
|
||||
"#elif PS_CHANNEL_FETCH == 4\n"
|
||||
" vec4 T = fetch_alpha();\n"
|
||||
"#elif PS_CHANNEL_FETCH == 5\n"
|
||||
" vec4 T = fetch_g7b1();\n"
|
||||
"#elif PS_CHANNEL_FETCH == 6\n"
|
||||
" vec4 T = fetch_g4b4();\n"
|
||||
"#elif PS_CHANNEL_FETCH == 7\n"
|
||||
|
|
Loading…
Reference in New Issue