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

God of War Ghost of Sparta screen flickering in Vulkan #12215

Closed
Deivmsr opened this issue Aug 4, 2019 · 19 comments · Fixed by #12224
Closed

God of War Ghost of Sparta screen flickering in Vulkan #12215

Deivmsr opened this issue Aug 4, 2019 · 19 comments · Fixed by #12224

Comments

@Deivmsr
Copy link

Deivmsr commented Aug 4, 2019

What happens?

God of War Ghost of Sparta keeps the screen flickering when using Vulkan. This happened more often when my phone upgraded to Android 9.0.

What should happen?

I note that this only happens in God of War Ghost of Sparta. Other games run normal on Vulkan. I believe the right thing would be that this game could run without this problem.

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

I using Galaxy Note 8, Exynos processor, Android 9.0, Mali G71 GPU.

EDIT: Video and repro dump #12215 (comment)

@marosis
Copy link

marosis commented Aug 5, 2019

Screenshot?

@Deivmsr
Copy link
Author

Deivmsr commented Aug 5, 2019

Screen capture does not catch the moment when the graphics flash. I also tried to record a video from the phone itself but it does not show the problem. Let's say areas like the walls of the game scene, for example, keep flashing all the time and even as Kratos moves. I do not know how to best record this problem. The good thing would be that someone like hydgard could test on an exynos processor phone and Mali G71 GPU, like the S8, to see if that would reproduce this problem of which I describe.

@marosis
Copy link

marosis commented Aug 5, 2019

Frameskipping turned off?

@Deivmsr
Copy link
Author

Deivmsr commented Aug 5, 2019

Yes

@unknownbrackets
Copy link
Collaborator

Are you using any post-shaders? Does it help to turn them off?

Does the rotation of your device change this flashing?

-[Unknown]

@marosis
Copy link

marosis commented Aug 5, 2019

Try create DUMP FILE

@Deivmsr
Copy link
Author

Deivmsr commented Aug 5, 2019

I am not using post shader. I put to change the screen orientation in automatic mode and it happened that when rotating the phone from portrait mode to landscape the screen went black. But switching to portrait mode did not affect the problem and continued the same thing.

@Deivmsr
Copy link
Author

Deivmsr commented Aug 5, 2019

The problem only happens in buffered rendering mode. In skipping buffer effects the image gets cropped in landscape mode (I know there is a warning that the game only works on buffered rederization).

@Deivmsr
Copy link
Author

Deivmsr commented Aug 5, 2019

Screenshot_20190805-011912_PPSSPP
In portrait mode and in skipping buffer effects.

@Deivmsr Deivmsr closed this as completed Aug 5, 2019
@Deivmsr Deivmsr reopened this Aug 5, 2019
@Deivmsr
Copy link
Author

Deivmsr commented Aug 5, 2019

Sorry. It was a typo.

@hrydgard
Copy link
Owner

hrydgard commented Aug 5, 2019

This might be related to #11937 . I will investigate that one in detail soon.

@hrydgard hrydgard added this to the v1.9.0 milestone Aug 6, 2019
@hrydgard
Copy link
Owner

hrydgard commented Aug 6, 2019

This indeed seems to be some driver regression? Sigh.

@Deivmsr
Copy link
Author

Deivmsr commented Aug 6, 2019

I'm not sure. Could you test this game on your S8 (is yours exynos?) To see if it happens to you too?

@hrydgard
Copy link
Owner

hrydgard commented Aug 6, 2019

I did, and it flickers on it too. (and yeah, it's exynos)

@Deivmsr
Copy link
Author

Deivmsr commented Aug 6, 2019

Good thing it's not a restricted issue just on my phone.

@hrydgard
Copy link
Owner

hrydgard commented Aug 6, 2019

Very clear repro right here at the beginning:

gow_glitch_video.zip

Even managed to make a GE frame dump that flickers:

GOW_GLITCH.zip

@Deivmsr
Copy link
Author

Deivmsr commented Aug 6, 2019

I test the European version. The same thing happens.

@hrydgard
Copy link
Owner

hrydgard commented Aug 8, 2019

Note to self, this is very likely the game doing multiple renderpasses to the same rendertarget, with no barrier in between (just another tiny renderpass).

Looking at the RenderDoc dump, we could do so much better (and eliminate this) by reordering and merging a few render passes. However, it's probably best to first add code that inserts the appropriate barriers, and only then experiment with such tricks.

@hrydgard
Copy link
Owner

hrydgard commented Aug 8, 2019

This should now be fixed in new builds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants