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

Vulkan: Black screen on AMD with multithreading on #10097

Closed
CesarAxe opened this issue Nov 12, 2017 · 21 comments
Closed

Vulkan: Black screen on AMD with multithreading on #10097

CesarAxe opened this issue Nov 12, 2017 · 21 comments
Labels
Milestone

Comments

@CesarAxe
Copy link

This happens when switching from OpenGL or Directx to Vulkan backend and when starting the program.
Tested in Windows 10 Fall Creators Update 16299, Amd Radeon r7 250 with latest drivers.
error1

@hrydgard
Copy link
Owner

Very odd, seems to work for everyone else. Was this self-built or a binary from https://buildbot.orphis.net/ppsspp/ ?

@CesarAxe
Copy link
Author

I'm testing with the binaries of https://buildbot.orphis.net/ppsspp/

@CesarAxe
Copy link
Author

CesarAxe commented Nov 16, 2017

I tried with a self-built and and I have the same problem, previous builds for example v1.4.2-534-ga33daa498 work without problems.

@hrydgard
Copy link
Owner

hrydgard commented Nov 16, 2017

You think you could try some more builds to figure out exactly when it broke? I'm stumped.

@hrydgard hrydgard added this to the v1.5.0 milestone Nov 16, 2017
@hrydgard
Copy link
Owner

@CesarAxe Is it the case that 534 works but 563 doesn't? Changed pretty much everything about the Vulkan backend in between there so this could be anything.

If it is, since you can build yourself, feel like trying a git bisect? https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git has a guide if you scroll down a bit.

@CesarAxe
Copy link
Author

No, the build 563 works properly. At this time I was testing and working properly until build v1.4.2-649-gb280e30a2 and fails from build v1.4.2-660-gea2fc5521 onwards.
(binaries of https://buildbot.orphis.net/ppsspp/)

@hrydgard
Copy link
Owner

Just to double-confirm before I dig deep, you're 100% sure that exactly 649 works and 660 doesn't? There is little in 660 that's vulkan-specific.

If it indeed is as above, can you check out 660 and change true to false on "useThread = true" in VulkanRenderManager.cpp? Also try without memstick/PSP/SYSTEM/ppsspp.ini to see if it's some setting.

To check out 660:

git checkout ea2fc5521

@CesarAxe
Copy link
Author

Screenshots
649
660

It was solved by changing true to false on "useThread = true" in VulkanRenderManager.cpp
I try without memstick/PSP/SYSTEM/ppsspp.ini and not solve the problem.

@hrydgard
Copy link
Owner

Thanks! If you check out master, change useThread to false, and build that, does it work?

Our Vulkan threading seems solid on all other platforms, curious that it wouldn't work on yours. But might have to blacklist it then.

With it working, then please go to Settings / Tools / System Information and take as screenshot there of vendor, driver version etc.

@CesarAxe
Copy link
Author

Yes, this solution works. I have installed Windows 10 Pro 16299.64, I could not say it because I have not tried in previous versions of Windows 10.
vendor

@unknownbrackets
Copy link
Collaborator

If you can try building it in debug mode, and with useThread back on, it might log or alert errors about our Vulkan usage.

It'd be ideal if we were just doing something wrong, or something these AMD drivers doesn't like...

-[Unknown]

@CesarAxe
Copy link
Author

I built in debug mode with useThread true. A screenshot:
ddd

@hrydgard hrydgard changed the title Black screen when switching to Vulkan Vulkan: Black screen on AMD with multithreading on Nov 17, 2017
@hrydgard
Copy link
Owner

hrydgard commented Nov 17, 2017

Yeah, that doesn't say very much. Two things about that though: Unless you have the Vulkan SDK installed, validation layers won't kick in. Also, the validation layers are mostly agnostic about what GPU they're running on so if we did something really wrong, we'd already have seen it. Probably...

Vulkan SDK: https://vulkan.lunarg.com/

@hrydgard hrydgard modified the milestones: v1.5.0, v1.6.0 Nov 17, 2017
@unknownbrackets
Copy link
Collaborator

Ah right. I was mostly hoping for an assert, though.

-[Unknown]

@CesarAxe
Copy link
Author

I have had installed vulkan SDK 1.0.65 from the beginning of the tests..

@hrydgard
Copy link
Owner

hrydgard commented Nov 17, 2017

Alright, then it should have asserted if it had found something and it didn't so this is really smelling like a driver bug.. not that the validation layers are perfect though, by any means...

@LunaMoo
Copy link
Collaborator

LunaMoo commented Nov 18, 2017

I think this problem might be limited to windows 10 creator's update or any third party software that got buggy from that win10 update like all kinds of info overlays which were known to get broken from it. Can't reproduce this issue on windows 10 pre-creators update and frankly I'm scared to re-enable update services on my win 10 as it will take over my pc for long hours and then probably even more when I try to turn it off, don't have much reason to deal with this for now;p.

On a side note I don't see any speed difference between Vulkan Multithreading On and Off, so if this isn't just my fast cpu + so-so gpu combo causing this lack of speed boost, current MT might as well not matter for AMD users.:]

@unknownbrackets
Copy link
Collaborator

Has anything changed here (when updating it back to using threading and using the latest drivers available)?

-[Unknown]

@CesarAxe
Copy link
Author

@unknownbrackets @hrydgard I tried the new driver 17.12.1 on build 1.4.2-660-gea2fc5521 and it does not give that problem anymore.

@LunaMoo
Copy link
Collaborator

LunaMoo commented Dec 16, 2017

Not sure if it's worth enabling this on AMD, from enabling MT I only get slight slowdown on Vulkan. It's not noticeably big, but it's unnecessary.

@unknownbrackets
Copy link
Collaborator

I think there was a benefit for AMD with OpenGL from using a separate thread. So that suggests this isn't categorically a pointless thing to enable on AMD.

But to keep sanity, I'm going to close this (it WAS fixed in 1.6.0) and create a new issue to reflect the threading problem as a future thing.

-[Unknown]

unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Jan 3, 2021
Fixes hrydgard#10643.  Assumes affected drivers only supported 1.0 due to year 1.1
supporting drivers started coming out.
unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Jan 3, 2021
Fixes hrydgard#10643.  Assumes affected drivers only supported 1.0 due to year 1.1
supporting drivers started coming out.
hrydgard added a commit that referenced this issue Feb 15, 2021
Vulkan: Remove #10097 hack for newer AMD drivers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants