I'm working on Device - Host - Device synchronization with VkEvent, but doing that results to a lockup using radv. It works with amdvlk though as you can read in the original issue on the Khronos github page here: https://github.com/KhronosGroup/Vulkan-Docs/issues/755
Here is sample source code that reproduces the problem: https://gist.github.com/neXyon/859b2e52bac9a5a56b804d8a9d5fa4a5
I did not see a lockup* but this fixes the data issue:
*: I got some what looks like the program just trying to dump too much stuff too the terminal, while the terminal cannot redraw because you are keeping a commandbuffer in flight. You can avoid this by using the compute queue or by dumping less stuff to the terminal (as fixing the data issue effectively does)
Author: Bas Nieuwenhuizen <firstname.lastname@example.org>
Date: Tue Oct 23 10:54:24 2018 +0200
radv: Emit enqueued pipeline barriers on event write.
Since the CPU can read them we need to execute any GPU->CPU
flushes before the event is written.
Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Samuel Pitoiset <email@example.com>