Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOCOM Fireteam Bravo 3: Z-buffer glitch on character customization screen #19245

Closed
hrydgard opened this issue Jun 4, 2024 · 5 comments · Fixed by #19490
Closed

SOCOM Fireteam Bravo 3: Z-buffer glitch on character customization screen #19245

hrydgard opened this issue Jun 4, 2024 · 5 comments · Fixed by #19490
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@hrydgard
Copy link
Owner

hrydgard commented Jun 4, 2024

Reported by s҉u҉r҉y҉a҉ on Discord.

Happens on OpenGL and Vulkan on iOS (and maybe other platforms).

RPReplay_Final1717495174.mov
@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Jun 4, 2024
@hrydgard hrydgard added this to the v1.18.0 milestone Jun 4, 2024
@foxsevent
Copy link

UCUS98716.zip
Here's a gs framedump if that helps, issue is present on windows 1.17.1 with all renders.

@anr2me
Copy link
Collaborator

anr2me commented Jun 4, 2024

UCUS98716.zip Here's a gs framedump if that helps, issue is present on windows 1.17.1 with all renders.

Your GE framedump looks normal on my Laptop (Geforce MX150), tested on Vulkan, OpenGL, and D3D11 all normal.
image

PS: i'm getting this error when switching window from Firefox back to PPSSPP:
image
Probably due to "Pause when not focused" thing

@foxsevent
Copy link

Dunno looks broken to me, tested with AMD RX7900GRE

image
UCUS98716.zip
Here's another one using latest dev build same issue.

@anr2me
Copy link
Collaborator

anr2me commented Jun 4, 2024

Hmm.. may be because i'm using v1.17.1-623, will try the latest dev build later (currently downloading it at 10 KB/s LOL it even failed midway)

Edit: It looks normal too on the latest dev build, i also tried restoring to default setting too
image
Also the same (normal too) when i tested it on my iGPU (Intel UHD Graphics 620)

@hrydgard
Copy link
Owner Author

Hm, euro version here, this still reproduces (vulkan, desktop).

OK, I see kind of what's happening here. The sub render target where the character is drawn is cleared in 565 mode, but then drawn to in 5551 mode, and we treat it as two separate framebuffers, which unfortunately are not sharing a depth buffer, and reinterpret the contents between them. So the clear happens to the 565 buffer, but everything else to the 5551 buffer... In this case, we should really copy the depth buffer from the reinterpret source to the target.. Or, we should do something more sophisticated and actually share the depth buffer (future project...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GE emulation Backend-independent GPU issues
Projects
None yet
3 participants