hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.39k stars 2.19k forks source link

List of games with graphics rendering issues using mali gpu with vulkan backend #15016

Closed ghost closed 2 years ago

ghost commented 3 years ago

What should happen

Some games have graphics glitch on mali-gpu using vulkan backend but I found a workaround to fix them.

Map Graphics Issue Affected Games Using Vulkan Only. Midnight Club L.A Remix Screenshot_2021-10-14-08-49-18-082_org ppsspp ppsspp

Midnight Club 3 Dub Edition Screenshot_2021-10-14-08-48-14-272_org ppsspp ppsspp

Gensou Suikoden IMG_20211014_091325

Surf's Up™ Screenshot_2021-10-14-08-44-21-508_org ppsspp ppsspp

The Simpsons Game Also Have Graphics Glitch Using Vulkan. Screenshot_2021-10-14-08-38-56-700_org ppsspp ppsspp

WorkAround I found to help those games is by adding them to compat.ini PixelDepthRounding Midnight Club L.A Remix Screenshot_2021-10-14-08-48-53-196_org ppsspp ppsspp

Midnight Club 3 Dub Edition Screenshot_2021-10-14-08-46-08-214_org ppsspp ppsspp

Gensou Suikoden IMG_20211014_091402

Surf's Up™ Screenshot_2021-10-14-08-43-53-882_org ppsspp ppsspp

The Simpsons Game Screenshot_2021-10-14-08-39-23-520_org ppsspp ppsspp

Silent Hill Shattered Memories also have problem using vulkan the flashlight doesn't shine the road.

Screenshot_2021-10-11-05-21-36-260_org ppsspp ppsspp

Workaround is to add this game to ReinterpretFramebuffers fix the flashlight Screenshot_2021-10-11-05-20-44-424_org ppsspp ppsspp

Who would this benefit

All android phones with mali gpu (vulkan supported only)

Platform (if relevant)

Android

Games this would be useful in

NPJH50535

Other emulators or software with a similar feature

No response

Checklist

ghost commented 3 years ago

Related issue https://github.com/hrydgard/ppsspp/issues/11980 https://github.com/hrydgard/ppsspp/issues/6265 https://github.com/hrydgard/ppsspp/issues/13833 https://github.com/hrydgard/ppsspp/issues/9830

anr2me commented 3 years ago

Are PixelDepthRounding and ReinterpretFramebuffers supposed to affects Vulkan only? or will it cause issue on other Renderer or Non-Mali? Because if the Mali bugs exist on Vulkan only.. may be you shouldn't choose Vulkan on these buggy GPU?

But it's nice to know what's fixed them :) so may be the devs can make a better workaround specific for these GPU

ghost commented 3 years ago

Are PixelDepthRounding and ReinterpretFramebuffers supposed to affects Vulkan only? or will it cause issue on other Renderer or Non-Mali?

I don't know other gpu if affected by this issue.

Because if the Mali bugs exist on Vulkan only.. may be you shouldn't choose Vulkan on these buggy GPU?

Vulkan perform better on my phone :)

But it's nice to know what's fixed them :) so may be the devs can make a better workaround specific for these GPU

Yes I hope hrydgard and unknown find a proper fix so that I don't need to use those workaround.

ghost commented 3 years ago

Peter Jackson KingKong also having flickering on terrain textures, but fix by adding this game to PixelDepthRounding compat.ini

PixelDepthRounding OFF

https://user-images.githubusercontent.com/37603562/137424252-a6698c58-f9a1-4c3c-ac7f-d86b26fdd7cd.mp4

PixelDepthRounding ON

https://user-images.githubusercontent.com/37603562/137424322-5a08b8c4-478b-4aee-85ce-999b9f3f7149.mp4

ge dump kingkong.ppdmp.zip

anr2me commented 3 years ago

That flickering on the terrain textures looks like z-fighting, it's common to happen even on PC games, usually expanding the z-buffer bit size/width fixes this kind of issue, but may affect the performance

unknownbrackets commented 3 years ago

I assume the "fix" here is actually forcing early z tests off. We could try forcing NO_DEPTH_CANNOT_DISCARD_STENCIL on for Mali as well.

We do currently explicitly output layout (early_fragment_tests) in, and maybe that's causing some problem in these cases? I had done that to hopefully push renders to give us better performance, but maybe there are cases where it's unsafe?

-[Unknown]

ghost commented 3 years ago

The most broken graphics on mali-gpu vulkan is The Simpsons Game but fixes by using PixelDepthRounding

opengl Screenshot_2021-10-17-13-49-33-155_org ppsspp ppssppgold

vulkan Screenshot_2021-10-17-13-48-58-029_org ppsspp ppssppgold

vulkan with pixeldepthrounding enable Screenshot_2021-10-17-13-50-26-533_org ppsspp ppssppgold

ghost commented 3 years ago

New discover game that glitch using vulkan

MegaMind Blue Depender minimize glitch using PixelDepthRounding https://github.com/hrydgard/ppsspp/issues/13846

Worms Open Warfare 1 and 2 background glitch using vulkan can be fixed by DisableAccurateDepth https://github.com/hrydgard/ppsspp/issues/12380

Wall-E Workday also have a graphics glitch using vulkan but can workaround using DisableAccurateDepth compat.ini https://github.com/hrydgard/ppsspp/issues/14168

Capcom Classic Collection Reload menu background is missing but can workaround by DisableAccurateDepth see ~ https://github.com/hrydgard/ppsspp/issues/13357#issuecomment-952550451

ghost commented 3 years ago

Badass Rumble also have a broken map in Vulkan.

OpenGL Screenshot_2021-10-28-20-45-50-496_org ppsspp ppsspp

Vulkan Screenshot_2021-10-28-20-45-34-985_org ppsspp ppsspp

PixelDepthRounding is a temporary workaround for this.

ghost commented 2 years ago

MotorStorm Artic Edge overlay graphic glitches.

https://user-images.githubusercontent.com/37603562/163578345-f9e2e51b-6b05-4883-9755-e1da5c88362b.mp4

Can be work around via DisableAccurateDepth.

ghost commented 2 years ago

The new compat.ini MaliDepthStencilBugWorkaround fixes the Simpsons Game and Suikoden: Woven Web of The Centuries but didn't fix Magical Girl Lyrical Nanoha and Surf Up :(

ghost commented 2 years ago

I cannot test Megamind and BadAss Rumble because I don't have those games anymore.

hrydgard commented 2 years ago

Alright, I managed to improve the workaround to make it work with Surf's Up and Kenka Bancho - Badass Rumble too.

hrydgard commented 2 years ago

@Gamemulatorer Can you check if it works with Suikoden and Magical Girl Lyrical Nanoha too, and if so, make me some compat.ini entries? Don't have frame dumps of those.

ghost commented 2 years ago

@Gamemulatorer Can you check if it works with Suikoden and Magical Girl Lyrical Nanoha too, and if so, make me some compat.ini entries? Don't have frame dumps of those.

Yes it also fixes Nanoha Magical Girl (ULJS-00385). Thank you so much 🎉

hrydgard commented 2 years ago

Thanks!

I'm taking this one off the 1.13 milestone now then.

ghost commented 2 years ago

How about Silent Hill Shattered Memories added to ReinterpretFramebuffers fix the flashlight?

hrydgard commented 2 years ago

Hm, but does it? When I tried the flashlight was still pretty bad. Though, I might have tried the other Silent Hill game.

Either way those games need a lot more work, which I do plan to do.

ghost commented 2 years ago

Hm, but does it? When I tried the flashlight was still pretty bad. Though, I might have tried the other Silent Hill game.

Yes it's fixes the flashlight issue atleast on my phone.

ghost commented 2 years ago

All of the games I mentioned here is now finally fixed so closing this..