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

Add compat flag / bug check for games on old Adreno/GL affected by #16015 #16422

Merged
merged 2 commits into from
Nov 24, 2022

Conversation

hrydgard
Copy link
Owner

See #16015

Partly derived from master...unknownbrackets:ppsspp:adreno-deadlock

But this one surgically activates it only for the known affected games, to avoid any additional performance regressions in the release. Ugly, but not sure what else to do given the nebulous nature of the driver bug.

Entirely untested.

@hrydgard hrydgard added OpenGL Confirmed Driver Bug Driver bug, so questionable to put in too much effort. Adreno GPU labels Nov 23, 2022
@hrydgard hrydgard added this to the v1.14.0 milestone Nov 23, 2022
@@ -186,6 +186,12 @@ u32 GPU_GLES::CheckGPUFeatures() const {
features |= GPU_USE_SINGLE_PASS_STEREO;
}

if (draw_->GetBugs().Has(Draw::Bugs::ADRENO_RESOURCE_DEADLOCK)) {
if (PSP_CoreParameter().compat.flags().OldAdrenoPixelDepthRoundingGL) {
features |= GPU_ROUND_FRAGMENT_DEPTH_TO_16BIT;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CheckGPUFeaturesLate() might add another flag (like GPU_ROUND_DEPTH_TO_16BIT or GPU_SCALE_DEPTH_FROM_24BIT_TO_16BIT), not sure if this is really a problem or not, though. In theory those flags can coexist...

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, I'll re-order it to do it after CheckGPUFeatureLate, and also check for vendor workarounds.

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

…6015

See #16015

Partly derived from master...unknownbrackets:ppsspp:adreno-deadlock

But this one surgically activates it only for the known affected games, to avoid any additional
performance regressions in the release.

Entirely untested.
@hrydgard
Copy link
Owner Author

@Gamemulatorer Done!

@hrydgard hrydgard merged commit 158f6fc into master Nov 24, 2022
@hrydgard hrydgard deleted the old-adreno-gl-compat-flag branch November 24, 2022 09:47
@ghost
Copy link

ghost commented Nov 24, 2022

Might be better to close this following issue:
Naruto Shippuden Ultimate Ninja Impact
#12847
Kingdom Hearts Birth By Sleep
#11029
Monster Hunter 3rd HD Portable
#11410
Persona 3 Portable
#11355 and only focus on the remaining performance issue in #16015?

@hrydgard
Copy link
Owner Author

Yeah, that's a good idea.

@ghost
Copy link

ghost commented Nov 25, 2022

This seems doesnt work correctly in adreno 306 I got freeze in Naruto Shippuden, Phantasy Star Portable 1 and 2 using my vivo y51a snapdragon 410.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Adreno GPU Confirmed Driver Bug Driver bug, so questionable to put in too much effort. OpenGL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants