Open ghost opened 2 years ago
@Gamemulatorer try this game too Ikki Tousen: Xross Impact & Corpse Party
@Gamemulatorer try this game too Ikki Tousen: Xross Impact & Corpse Party
Why?
I wonder if we simply need to activate the NO_DEPTH_CANNOT_DISCARD_STENCIL workaround, but in GL. It sounds similar based on another issue, especially if pixel depth rounding fixes it.
-[Unknown]
If anyone can compile and test, you can basically try adding:
if (caps_.vendor == GPUVendor::VENDOR_QUALCOMM) {
bugs_.Infest(Bugs::NO_DEPTH_CANNOT_DISCARD_STENCIL);
}
Around here: https://github.com/hrydgard/ppsspp/blob/f3c097680edf9322461f342983226e18a549dd3e/Common/GPU/OpenGL/thin3d_gl.cpp#L635
If that prevents the crash, it might need some small tweaks and could use conservative depth potentially (?) but it would only take this slow path in potentially necessary cases, unlike forcing pixel depth rounding always.
-[Unknown]
Sorry to say I don't know how to compile apk :(
@Gamemulatorer try this game too Ikki Tousen: Xross Impact & Corpse Party
Why?
looks like the game also has a driver bug issue for adreno
@Gamemulatorer try this game too Ikki Tousen: Xross Impact & Corpse Party
Why?
looks like the game also has a driver bug issue for adreno
Can you define what is the issue of those games on adreno gpu 3xx/5xx series? Screenshots?
@Gamemulatorer try this game too Ikki Tousen: Xross Impact & Corpse Party
Why?
looks like the game also has a driver bug issue for adreno
Can you define what is the issue of those games on adreno gpu 3xx/5xx series? Screenshots?
bolt fc
bolt fc
If you add those games id to PixelDepthRounding what happen? Still force close?
bolt fc
If you add those games id to PixelDepthRounding what happen? Still force close?
not fc
Sorry to say I don't know how to compile apk :(
Try. :) https://drive.google.com/file/d/10kAUg8051i7YJJNlAo0nVYXDKvkONrM5/view?usp=drivesdk
Still crashing :( ULUS10582.ppdmp.zip
BTW thanks Saramagrean for the apk.
Since only certain games crash in this case, there should be some detectable case, even if it's different than the Vulkan issue. I just checked Persona 3, though, and it never seem to hit this condition: stest_on.flag && ztest_on.flag && !zwrite_off.flag
. In fact, it doesn't even hit stest_on.flag
.
It also does draws before the crash with zwrite_off && ztest_on, as well as !ztest_on. It never enables ctest_on either. I thought maybe atest, but it hits atest_on.flag && ztest_on.flag && zwrite_off.flag
even before the crash, and ztest/ztest are used together and not used together before that.
-[Unknown]
GE dump before it crash. ULUS10582.ppdmp.zip
Another list of games that crashes using opengl backend.
Hack/Link Midnight Club L.A Remix ModNation Racers
I can also reproduce this on my vivo y11 snapdragon 439 adreno 505 android 11.
sorry I use the latest build but almost all the games I have after loading the game, always fc Samsung M20 exynos Vulkan
sorry I use the latest build but almost all the games I have after loading the game, always fc Samsung M20 exynos Vulkan
[v1.13.2-1726-gba32ef5ea] [v1.13.2-1723-g1d97e7d03] above version that I tried. but it's the same both fc for vulkan. is this a driver bug?
sorry I use the latest build but almost all the games I have after loading the game, always fc Samsung M20 exynos Vulkan
[v1.13.2-1726-gba32ef5ea] [v1.13.2-1723-g1d97e7d03] above version that I tried. but it's the same both fc for vulkan. is this a driver bug?
Maybe 🤔? Vulkan work normal on my phone.
sorry @Gamemulatorer can you try it on mediatek.
sorry @Gamemulatorer can you try it on mediatek.
Sadly I don't have any mediatek phone with vulkan supported.
Samsung M20 Exynos 7904 Mali-G71 Android 10 all game fc all use the default settings. this is the screen recording. https://youtu.be/0Nilq1a2tCo is this also an issue?
Samsung M20 Exynos 7904 Mali-G71 Android 10 all game fc all use the default settings. this is the screen recording. https://youtu.be/0Nilq1a2tCo is this also an issue?
This is an adreno 3xx/5xx series gpu issue using opengl :)
Samsung M20 Exynos 7904 Mali-G71 Android 10 all game fc all use the default settings. this is the screen recording. https://youtu.be/0Nilq1a2tCo is this also an issue?
This is an adreno 3xx/5xx series gpu issue using opengl :) Yes, I know. I'm just confused whether to make a new issue or not.
If all games are force closing with non-Adreno, it's probably best to create a new issue. It'd really help to know if it's new and if so, since which commit.
-[Unknown]
Calling glFlush();
after every draw, or before every glBindTexture()
makes Persona 3 run just fine. Calling it only at the end of PerformRenderPass()
or trying after init does not help and it still locks up. glUseProgram()
is also not often enough.
I tried counting commands and flushing after a chunk of them, which didn't help.
Here's a branch that runs Persona 3 past the crash on a Pixel: https://github.com/hrydgard/ppsspp/compare/master...unknownbrackets:ppsspp:adreno-deadlock
It's probably not a good change as I suspect it may have pretty terrible performance impacts on 3D games with large scenes. I didn't find anything obvious interacting with depth here...
-[Unknown]
For the release, I think I'm just gonna make a special compat flag that enables pixeldepthrounding for these four games on Adreno. Not sure what else I can do :/
Just to note: this crash is not at all new, at least Persona 3 has been crashing for quite a while on affected devices. The crashes only seem to affect specific scenes, and in Persona 3 for example, you can work around it simply by having a save file afaik.
Might be good to make sure the vendor bug checks setting applies in case someone who could play before (with workarounds like not starting a new game on an affected device) can no longer get playable performance with early z checks forced off.
-[Unknown]
I added a "vendor bug checks" check, added the missing games and merged. Please test to see that the workaround has been applied correctly.
Yes the workaround is applied correctly but the performance decrease by 5-10fps.
That's better than crashing, at least. Don't know what else we can do here for now, moving further work to later versions.
Adreno 306 still suffer freezing on certain games :(
These games, or other games?
These games, or other games?
Naruto Shippuden Ultimate Ninja Impact and Phantasy Star Portable 2.
Naruto Shippuden Ultimate Ninja Impact.
If OldAdrenoPixelDepthRoundingGL is ON the game is freeze.
If OFF the game works normally 🤔
uh what, I thought we added it because it fixed freezes in the game? :)
So we should just remove it again from the compat.ini?
uh what, I thought we added it because it fixed freezes in the game? :)
So we should just remove it again from the compat.ini?
I don't know why this is only happen in my vivo y51a adreno 306, but not in my vivo y11 adreno 505 works correctly with OldAdrenoPixelDepthRoundingGL enable.
Might be good if you guys increase the android version to android 8.0+ adreno 3xx/5xx series? as mention here https://github.com/hrydgard/ppsspp/issues/11355#issuecomment-419609455 driver bug start in that android version 🤔
My vivo y51a is android 5.1 only.
Hm, ok, yeah, I'll give that a try.
Hello, the option to change drivers does not appear in Adreno 308 Version 1.17.1
The option to change drivers is only applicable to Vulkan, with newer Adreno GPU editions, unfortunately.
Thank you, and the option is not available in Adreno 508 either?
The criteria are:
If your device doesn't pass this it's not possible to load drivers at runtime, sorry
Game or games this happens in
Naruto Shippuden Ultimate Ninja Impact Kingdom Hearts Birth By Sleep Monster Hunter 3rd HD Portable Persona 3 Portable
What area of the game / PPSSPP
The following games crashes using opengl backend on adreno 3xx/5xx series.
Naruto Shippuden Ultimate Ninja Impact #12847
Kingdom Hearts Birth By Sleep #11029
Monster Hunter 3rd HD Portable #11410
Persona 3 Portable #11355
Workaround is by adding those games id to pixeldepthrounding could also fix graphics glitches for both opengl and vulkan 👇 https://github.com/hrydgard/ppsspp/issues/11583
What should happen
Not crashing and no graphic glitches
Logs
None
Platform
Android
Mobile phone model or graphics card
OPPO s3s Snapdragon 450 Adreno 506
PPSSPP version affected
All
Last working version
None
Graphics backend (3D API)
OpenGL / GLES
Checklist