[BUG]: Largo Winch - Empire Under Threat (Europe) (EnDeEsIt) - Broken shadows with OpenGL
Describe the Bug
Shadows in Largo Winch - Empire Under Threat (Europe) (EnDeEsIt) are broken with OpenGL. Tested on the New York stage. I don't know if it happens in other levels. The large black square in the corner follows the character around and shouldn't be there.
This also happened when I tried resetting to default to fix the problem.
Specs
Reproduction Steps
Play the game with the OpenGL renderer.
Expected Behavior
Shadows shouldn't be broken.
PCSX2 Revision
PCSX2 V2.3.387
Operating System
Windows 11
If Linux - Specify Distro
No response
CPU
Intel core i7
GPU
Intel Iris plus graphics
GS Settings
No response
Emulation Settings
All settings default. OpenGL renderer.
GS Window Screenshots
No response
Logs & Dumps
No response
Please post a GS dump.
Broken shadows is a software issue mentioned in #1562 , in terms of opengl , id advise updating your drivers
@Mrlinkwii I'm only seeing it with OpenGL.
Appears to be caused by an optimization in the SW renderer for drawing horizontal lines. Game draws a shadow texture and then draws a black border w/ line primitives so that the clamped color is fully transparent. However, seems that SW renderer omits the wrong pixel when draws horizontal lines (in particular right-to-left lines) so that the border is incomplete. The relevant code in GSRasterizer.cpp:
if (dpi.y == 0)
{
if (dpi.x > 0)
{
// shortcut for horizontal lines
...
}
return;
}
One fix is to just delete the block (not fully tested) but probably better to fix it so that right-to-left lines are rasterized correctly.
I only see the issue with SW renderer in a recent build.
I only see the issue with SW renderer in a recent build.
On hw renderers it's still an issue if you upscale, seems that HPO helps but dunno if that's a real solution or just masking the issue.