The Vulkan overlay layer doesn't work with async compute on GCN/RDNA and probably neither Nvidia Turing GPUs, it simply disappears.
To reproduce, start Doom on any Radeon (driver shouldn't matter) in Steam Play and set it to Vulkan with Ultra preset and 8xTSSAA: When in the actual game, the Mesa overlay will simply disappear. When changing anti aliasing to FXAA, async compute is turned off and the Mesa overlay gets visible again.
On windows, overlays like that of Steam (the overlay of the Linux version for some reason shares the traits of Mesa overlay) or RTSS disable presenting frames from a compute queue. This makes them work, but degrades performance substantially.
The windows open source tool OCAT supports an overlay for Vulkan that is compatible with async compute and doesn't degrade performance:
Tested with mesa-git some weeks ago.
Thanks for the report.
Would you be able to test this MR : https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1730 ?
Thank you for your efforts.
Unfortunately, the overlay still disappears with your patch applied.
I think I should have mentioned that I use the Mesa ACO fork.
(In reply to tempel.julian from comment #3)
> I think I should have mentioned that I use the Mesa ACO fork.
As far as I know the ACO work is mostly compiler related, so it shouldn't affect the overlay.
I honestly don't know what's going wrong there.
We properly insert a dependency to ensure the image isn't shown until the overlay is finished drawing.
From the driver's point of view the overlay should be just like any other application drawing.
Unless if there is an issue in the application that concurrently draws with the overlay, overriding it.
Have you tried to position the overlay in different corners of the window to see if it has any effect?
Does it disappear for good or is it showing once every other frame?
I've positioned it to bottom-right and it disappears as well. The game has its own performance overlay, but turning it on or off doesn't impact the Mesa OSD (at least not as far as I can tell, but I think it would be very uncommon if it did something weird in the background).
The Mesa OSD already disappears when the game's main menu got loaded. Then it's visible again when on a loading screen for a level, while it completely vanishes when the level starts. I think it never flashes even once while playing.
When turning off async compute by using FXAA (they didn't implement AC for that postprocessing queue), it's completely visible all the time.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/946.