Skip to content

Commit 5a64e57

Browse files
committed
Alternative black vertical lines fix from jpd002#897
1 parent ee58384 commit 5a64e57

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

Source/gs/GSH_OpenGL/GSH_OpenGL.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,12 @@ void CGSH_OpenGL::SetRenderingContext(uint64 primReg)
653653
m_nPrimOfsX = offset.GetX();
654654
m_nPrimOfsY = offset.GetY();
655655

656+
// Account for the fact that PS2 assumes the pixel center at the bottom left,
657+
// but OpenGL at the center of the screen. On even resolutions this causes a slight
658+
// discrepancy.
659+
m_nPrimOfsX -= 0.5f;
660+
m_nPrimOfsY -= 0.5f;
661+
656662
CHECKGLERROR();
657663

658664
m_renderState.isValid = true;

Source/gs/GSH_OpenGL/GSH_OpenGL_Shader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ Framework::OpenGl::CShader CGSH_OpenGL::GenerateVertexShader(const SHADERCAPS& c
118118
{
119119
shaderBuilder << " v_fog = a_fog;" << std::endl;
120120
}
121-
shaderBuilder << " gl_Position = g_projMatrix * vec4(a_position.x + 0.5, a_position.y + 0.5, 0, 1);" << std::endl;
121+
shaderBuilder << " gl_Position = g_projMatrix * vec4(a_position.x + 0.0, a_position.y + 0.0, 0, 1);" << std::endl;
122122

123123
shaderBuilder << "}" << std::endl;
124124

Source/gs/GSHandler.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,9 @@ void CGSHandler::WriteRegisterImpl(uint8 nRegister, uint64 nData)
755755

756756
switch(nRegister)
757757
{
758+
case GS_REG_ST:
759+
m_nReg[nRegister] &= 0xFFFFFF00FFFFFF00;
760+
break;
758761
case GS_REG_TEX0_1:
759762
case GS_REG_TEX0_2:
760763
{

0 commit comments

Comments
 (0)