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

Metal slug xx #13916

Closed
Davidcard22 opened this issue Jan 13, 2021 · 30 comments
Closed

Metal slug xx #13916

Davidcard22 opened this issue Jan 13, 2021 · 30 comments
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@Davidcard22
Copy link

What happens?

broken images small crashes almost imperceptible but harmful to gambling especially when there are many enemies on the screen this is problems with the way the I / O is GPU is being used

What should happen?

Improving the performance of how the emulator uses the GPU to process these 2D images is something that shouldn't be too hard for adreno 509,512 ...

What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.

Android 10 snapdragon 636 2.2 GHz overclocked 4Gb Ram backend OpenGl

@Davidcard22
Copy link
Author

Screenshot_20210113-155005728

@sum2012
Copy link
Collaborator

sum2012 commented Jan 13, 2021

edit: What is your phone 's model ?

@Davidcard22
Copy link
Author

ZenFone Max pro m1, snapdragon 636 1.8ghz 4Gb Ram

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Jan 14, 2021
@hrydgard hrydgard added this to the v1.12.0 milestone Jan 14, 2021
@Panderner
Copy link
Contributor

Here's what happens when I use save state or minimize the graphical glitch appears.

@sum2012
Copy link
Collaborator

sum2012 commented Jan 14, 2021

@Davidcard22 Have you tried latest version in https://buildbot.orphis.net/ppsspp/ ?

@Ultra24
Copy link

Ultra24 commented Jan 14, 2021

This happened to me on iOS also
E2C583F6-65AB-4A5E-903C-91D5A40106CC

@ppmeis
Copy link
Contributor

ppmeis commented Jan 14, 2021

Tested on latest Windows build. It's working just fine with default settings:
image

@anr2me
Copy link
Collaborator

anr2me commented Jan 15, 2021

Here's what happens when I use save state or minimize the graphical glitch appears.

@Panderner including on Windows?
Or may be it's mobile GPU/OpenGL ES related issue?

@Panderner
Copy link
Contributor

Here's what happens when I use save state or minimize the graphical glitch appears.

@Panderner including on Windows?
Or may be it's mobile GPU/OpenGL ES related issue?

I've tried OpenGL and Vulkan but it still happens.

@Panderner
Copy link
Contributor

@Panderner including on Windows?

But unable to test windows version because i don't have a PC

@Panderner
Copy link
Contributor

Here's what happens when I use save state or minimize PPSSPP the graphical glitch appear.

Without save state or minimize the game works fine
Screenshot_2021-01-15-13-44-12-329_org ppsspp ppsspp

But when I use save state or minimize the game glitched out.
Screenshot_2021-01-15-13-44-48-155_org ppsspp ppsspp

In order to fix graphical glitches without exiting the game pause and restart mission.

@anr2me
Copy link
Collaborator

anr2me commented Jan 15, 2021

Ah you're right, it also happened on Windows, a simple resizing/maximazing PPSSPP's Window will shows graphical glitch.

OpenGL:
image

Vulkan/D3D11:
image

@hrydgard hrydgard modified the milestones: v1.12.0, v1.11.0 Jan 15, 2021
@hrydgard
Copy link
Owner

Oh, that is not good. I'll look into it soon.

@ppmeis
Copy link
Contributor

ppmeis commented Jan 15, 2021

I can't reproduce this issue on my computer. Are you using any filtering?

@anr2me
Copy link
Collaborator

anr2me commented Jan 15, 2021

I can't reproduce this issue on my computer. Are you using any filtering?

I'm resetting PPSSPP settings to default and only changed the backend, play the mission and then click maximize button to maximize ppsspp window

@sum2012
Copy link
Collaborator

sum2012 commented Jan 17, 2021

@Davidcard22 @Panderner can you test again with latest version in https://buildbot.orphis.net/ppsspp/
with enable "simulate black transfer effects" ?

@anr2me
Copy link
Collaborator

anr2me commented Jan 17, 2021

It's still there on the latest dev build, only software renderer worked properly.
OpenGL/D3D9
image

D3D11/Vulkan
image

image

@sum2012
Copy link
Collaborator

sum2012 commented Jan 17, 2021

@anr2me I think that windows version of "play the mission and then click maximize button to maximize ppsspp window" is another issue,

@anr2me
Copy link
Collaborator

anr2me commented Jan 17, 2021

may be try fixing it on windows version first, since they have similar symptoms, and easier to debug.

@anr2me
Copy link
Collaborator

anr2me commented Jan 17, 2021

On Windows, the last working build is v1.10.3-474-gd465ce512 Quick Vulkan crashfix
May be @Panderner or @Davidcard22 can confirm whether this is true for Android too?

@Panderner
Copy link
Contributor

On Windows, the last working build is v1.10.3-474-gd465ce512 Quick Vulkan crashfix
May be @Panderner or @Davidcard22 can confirm whether this is true for Android too?

The issue started in v1.10.3-477-g6d117fb53 and it's true for android too.

@unknownbrackets
Copy link
Collaborator

That it happens when you minimize implies there's a block transfer or temporary buffer going on that doesn't get saved to RAM. If #13327 impacted it, that just means we're applying a clear but not some later copy.

-[Unknown]

@anr2me
Copy link
Collaborator

anr2me commented Jan 17, 2021

Changing both lines with gstate.getColorMask() != 0xFFFFFFFF to gstate.getColorMask() != 0 on that commit seems to fix the issue on Metal Slug XX.

if (reallyAClear && gstate.getColorMask() != 0xFFFFFFFF && (gstate.isClearModeColorMask() || gstate.isClearModeAlphaMask())) {

bool writingColor = gstate.getColorMask() != 0xFFFFFFFF;

Edit:
Changing it to gstate.getColorMask() != 0 && gstate.getColorMask() != 0xFFFFFFFF worked too.

@hrydgard
Copy link
Owner

hrydgard commented Jan 17, 2021

Oh, it's another one of those ... Related to #13344

I don't think it will help because I suspect it's the "opposite" issue, but try putting the gameid under "DisableFirstFrameReadback" in compat.ini...

@anr2me
Copy link
Collaborator

anr2me commented Jan 18, 2021

Adding ULUS10495 = true to compat.ini seems to do the trick.

@Panderner
Copy link
Contributor

I disabled First Frame Readback for Metal Slug XX and it worked.

@unknownbrackets
Copy link
Collaborator

Well, this is an awfully unsafe looking safe size:

Safe size for 44154000: -64x-16

-[Unknown]

@hrydgard
Copy link
Owner

Nice find!

This should be fixed now after #13941 - please close after testing new builds.

@Panderner
Copy link
Contributor

Panderner commented Jan 18, 2021

Unfortunately v1.10.3-1596-g48bb797ff is currently only available for 32 bit windows.

Edit: v1.10.3-1596-g48bb797ff is now available for android and 64-bit windows.

@Panderner
Copy link
Contributor

As confirm of v1.10.3-1596-g48bb797ff is the issue is now fixed.

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
Development

Successfully merging a pull request may close this issue.

8 participants