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

Glitch when using shaders with Crisis Core #16666

Closed
5 tasks done
axymeus opened this issue Dec 29, 2022 · 7 comments
Closed
5 tasks done

Glitch when using shaders with Crisis Core #16666

axymeus opened this issue Dec 29, 2022 · 7 comments
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@axymeus
Copy link

axymeus commented Dec 29, 2022

Game or games this happens in

ULUS-10336 - Crisis Core

What area of the game

Reported here - https://forums.ppsspp.org/showthread.php?tid=6594&pid=145850#pid145850

The cinematic right after the double boss in the first mission in wutai. A 3rd pops up and gets slashed. Then it's a different cinematic that starts, with the boss down and getting back up. This is the one that triggers the problem.

What happens

If I have any shader enabled when this cinematic starts, the screen becomes all wobbly and vibrating (video - https://www.youtube.com/watch?v=jlsJ1Bj4nsA) and it remains like that until internal rendering is changed. If I disable all shaders it goes back to normal, but If I enable any shader again it's still broken. Only changing internal resolution does anything (it's on 1x).

I was using the latest release, but I also tried the latest git build like it says.

What should happen

I think this one's obvious. Pretty sure a shader shouldn't cause the screen to have a seizure.

GE frame capture

No response

Platform

Windows

Mobile phone model or graphics card

RTX 2070 super

PPSSPP version affected

v1.14.1-59-gd65c7fb05

Last working version

No response

Graphics backend (3D API)

Direct3D 11

Checklist

  • Test in the latest git build in case it's already fixed.
  • Search for other reports of the same issue.
  • Try resetting settings or older versions and include if the issue is related.
  • Try changing graphics settings to determine if one causes the glitch (especially speed hacks or enhancements/replacements.)
  • Include logs or screenshots of issue.
@hrydgard hrydgard added this to the v1.15.0 milestone Dec 29, 2022
@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Dec 29, 2022
@axymeus
Copy link
Author

axymeus commented Jan 1, 2023

Handy save file from the thread https://drive.google.com/file/d/1nS4aSQ6VzI-u6HZ6wf65BVN_G5KTtsGH/view?usp=sharing
I've fixed the sharing options, it should be public now.

@unknownbrackets
Copy link
Collaborator

This can happen depending on how the shader is written. What shaders are you using specifically?

On the PSP, graphics buffers didn't have a "height" exactly, and could overlap other graphics buffers in weird ways. With modern graphics chips, such nonsense is forbidden. That's great for modern games, but these rules weren't around when the PSP graphics chip was made.

Because of this, we have to detect the height and sometimes it can change unexpectedly. In this case, the game may - just for a frame - be rendering a pixel more in height. It might actually be a game bug in this particular case (although games generally do this purposefully in a lot of cases.)

If the shader is written to assume that the source texture always matches the height, this could happen. It should be using texelDelta as noted in #12894.

-[Unknown]

@axymeus
Copy link
Author

axymeus commented Jan 8, 2023

I've tried different built-in shaders like Bloom and CRT Scanlines I think.

In this case, the game may - just for a frame - be rendering a pixel more in height.

Yes I think this is exactly what's happening in this cutscene.

@hrydgard hrydgard modified the milestones: v1.15.0, v1.16.0 Mar 17, 2023
@hrydgard
Copy link
Owner

This is likely to be a little bit better now, but there are still some issues with post processing and framebuffer dimensions, it seems. Found another example, the map screen (START button) in GTA. Try using a heavy vignette there, it flickers.

@oilbugxx
Copy link

oilbugxx commented Jun 5, 2023

so i saw the video uploaded above. i assume that i am experiencing similar thing to what op described here except its amped up quite a bit, but really i dont know if this is technically the same thing because of that. so i just upload a video here.

https://youtu.be/FpizqL-MpiA

every time i use some post processing that i think upscale the image, the screen on the bottom side got squeezed for a bit there when you in pause, if you resume the game it starts to glitching like it tried so hard to stretch the image again and immidiately failed again after that and it repeats like that, it seems like the flickering not that bad in the video probably because i dont set 60fps on the recording software, but it actually is bad when you play it. it only begins to appear whenever i reach that point when they give you that multiple choice answer. the thing is, that only happens whenever i only use one shader, if i add another basically any shader, including the same shader again, before or after that, the glitch is gone. it fixed it for me, but i think it is worth mentioning here.

@hrydgard
Copy link
Owner

hrydgard commented Jun 6, 2023

have you tried one of the latest builds from https://buildbot.orphis.net/ppsspp/ ?

There have been some improvements. Though one type of shader still has a version of this glitch, the "persistence" one.

@oilbugxx
Copy link

oilbugxx commented Jun 6, 2023

have you tried one of the latest builds from https://buildbot.orphis.net/ppsspp/ ?

There have been some improvements. Though one type of shader still has a version of this glitch, the "persistence" one.

ah, yes. i just tried it, i think the bug is gone so far. yeah for some reason i forgot the nightly build exist. anyway thank you for the work guys.

@hrydgard hrydgard closed this as completed Jul 6, 2023
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

No branches or pull requests

4 participants