I've run into a problem when selecting queues with Vulkan. All my queues report to have support for transfer operations, however only the presentable queue, which supports everything, can perform transfer operations.
- Queue family 0: Can present, draw, compute and transfer. Flags = 15, count = 1, minImageTransferGranularity = 1x1x1.
- Queue family 1: Can compute, reports transfers but any transfers on this queue family faults cause both screens to go black until reboot. Flags = 14, count = 3, minImageTransferGranularity = 1x1x1.
- Queue family 2: Reports transfers, although with an image granularity of 8x8x8, however any transfers on this queue ends up not doing anything. I checked this by mapping the memory the update is supposed to modify and the mapped buffer is almost always filled with \0, or undefined memory. Flags = 12, count = 3, minImageTransferGranularity = 8x8x8.
I'm using an R9 Nano, with the Vulkan 1.2 driver.