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

PowerVR Vulkan critical bugs (Honor 7S) #11743

Closed
hrydgard opened this issue Jan 23, 2019 · 5 comments
Closed

PowerVR Vulkan critical bugs (Honor 7S) #11743

hrydgard opened this issue Jan 23, 2019 · 5 comments

Comments

@hrydgard
Copy link
Owner

hrydgard commented Jan 23, 2019

There's a bad assumption in VulkanDeviceAllocator that all objects with DEVICE_LOCAL_BIT will want to live in the same MemoryType. This is not the case on PowerVR, causing font textures and many other things to fail allocating. Check out the memory types: https://vulkan.gpuinfo.org/displayreport.php?id=4534#memory - there are duplicates, who knows how the driver picks which ones a certain image want to use. Maybe large textures and rendertargets in the first and small textures in the second?

Anyway, proposed solutions:

Additionally, it has that weird display stride problem causing the entire display to be corrupted. I suspect it's some bug in the driver triggered by creation order or something, will try some Android vulkan samples and see what they do to get a working picture.

@hrydgard
Copy link
Owner Author

That takes care of the first bug. Now just need to figure out why the swapchain is completely broken...

@hrydgard
Copy link
Owner Author

hrydgard commented Jan 24, 2019

Turns out it's broken even when running Google's samples. Sigh. I've checked every parameter and carefully logged and nothing seems out of the ordinary.

I think I'll give up on Vulkan on these, by blacklisting PowerVR from using Vulkan entirely.

EDIT: Actually got a tip about a workaround now, to forcibly create a swapchain with size divisible by 32, and info that the bug is fixed in later drivers. Will try it later.

@hrydgard
Copy link
Owner Author

Turns out this one is solved by forcibly making the swapchain width a multiple of 32. This at least makes the menu usable, so I will commit it soon. However, we should definitely not default to Vulkan on these devices - there are several major rendering problems that show up in-game.

@hrydgard hrydgard changed the title PowerVR Vulkan bugs (Honor 7S) PowerVR Vulkan critical bugs (Honor 7S) Jan 24, 2019
@unknownbrackets
Copy link
Collaborator

Note: we don't default to Vulkan on these devices (or any others) in the latest git.

-[Unknown]

@hrydgard
Copy link
Owner Author

True, but it's important that the UI is usable in case someone switches to it and wants to switch back.

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

No branches or pull requests

2 participants