This is most likely an occlusion query issue. More debugging is needed.
It's *very* visible when everything is set to Ultra, on e.g. Medium settings its not quite as bad. One can see it only when moving, when player is stationary, it doesn't happen. It's specific to the Vulkan backend, with OpenGL one it's not visible.
I think I've got this tracked down. It turns out we weren't properly handling unavailable query results. I've got a patch but I won't be able to test it until tomorrow when I get back to my GT4. If you want to play with it, you can find the branch here:
This has been fixed by the following commit:
Author: Jason Ekstrand <email@example.com>
Date: Tue Mar 14 20:48:47 2017 -0700
anv/GetQueryPoolResults: Actually implement the spec
The Vulkan spec is fairly clear about when we should and should not
write query pool results. We're also supposed to return VK_NOT_READY if
VK_QUERY_RESULT_PARTIAL_BIT is not set and we come across any queries
which are not yet finished. This fixes rendering corruptions on The
Talos Principle where geometry flickers in and out due to bogus query
results being returned by the driver. These issues are most noticable
on Sky Lake GT4 2hen running on "ultra" settings.
Reviewed-By: Lionel Landwerlin <firstname.lastname@example.org>
Cc: "17.0 13.0" <email@example.com>
Verified, looks now fine both with Medium & Ultra settings.