PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.8k stars 1.63k forks source link

[BUG]: Old texture bug in Star Wars: Bounty Hunter wasn't fully fixed #10079

Open SlyCooperReloadCoded opened 1 year ago

SlyCooperReloadCoded commented 1 year ago

Describe the Bug

A very long time ago, an issue existed in Star Wars: Bounty Hunter where some textures would become black and cause vertex explosions at certain camera angles. While fixes to alleviate those isssues have been in the database for a while, as well as being automatic gamefixes in 1.7 nightly builds for quite some time, the bug was never fully fixed.

In some locations where the bug existed, objects can be found that are completely invisible in some spots. Not black like the old bug, but completely invisible, allowing you to see geometry behind them. Here's a screenshot taken using the Software renderer:

https://imgur.com/a/MgGjjf5

I went on YouTube and found multiple playthroughs of this mission, and found that yes, there are supposed to be solid textures there:

https://imgur.com/a/NnCIrMF

Additionally, the textures are present when emulating the GameCube release on Dolphin:

https://imgur.com/a/uRY2g4W

What I find interesting is that gameplay videos of the PS4 release, which is the PS2 release running through software emulation, are missing these textures, showing the issue is caused by something emulator-side, as you can see here:

https://imgur.com/a/W2CrTtd

Since the original issues were related to EE/VU0/VU1 clamping and rounding, I temporarily disabled automatic gamefixes and tried different combinations of settings in the Advanced menu, but none of them made these textures appear correctly. No combinations of other settings appear to fix it either. I estimate this issue has been present for over 3 years, however I never considered it an issue until I saw gameplay on actual hardware.

Reproduction Steps

Expected Behavior

All textures that are supposed to be visible should be visible.

PCSX2 Revision

v1.7.5092

Operating System

Windows 10 (64bit)

If Linux - Specify Distro

No response

CPU

Intel Core i9-10900K

GPU

NVIDIA RTX 2080 SUPER

GS Settings

No response

Emulation Settings

No response

GS Window Screenshots

No response

Logs & Dumps

GS Dump:

Star Wars - Bounty Hunter_SLUS-20420_20231008001902.zip

ghost commented 1 year ago

Correct me if I'm wrong, but I believe that this was related to VU1 sync. Have you tried turning off VU1 recompiler mode?

refractionpcsx2 commented 1 year ago

Can you provide a savestate where the problem occurs? a GS dump is no use here.

SlyCooperReloadCoded commented 1 year ago

I have tried turning off every recompiler, even EE, but the issue remained. A savestate for what is now latest 1.7: SLUS-20420 (A1030867).01.zip

ghost commented 1 year ago

I have tried turning off every recompiler, even EE, but the issue remained. A savestate for what is now latest 1.7: SLUS-20420 (A1030867).01.zip

You turned them off after the glitch or before it?

SlyCooperReloadCoded commented 1 year ago

The other two texture glitches happen immediately if I disable their fixes, so I assumed this one would too. Disabling that recompiler drops the game down to 5-8 FPS and that hallway is 5 minutes into a level that runs at 60 FPS - I figured it would've fixed itself.

Anyways, I tried booting the game with VU1 recompiler disabled and, through excrutiatingly slow gameplay, got back to that part - the textures are still missing. Tried fresh boot with VU0 interpreter as well because there was no performance hit, but that also changed nothing.