É seguro que a CPU leia de um buffer enquanto o mesmo buffer está sendo usado pela GPU como a origem de uma operação de transferência usando vkCmdCopyBuffer
?
Estou perguntando porque li que mesmo se o buffer for usado como fonte de uma transferência, o vkCmdCopyBuffer
próprio pode ser mais complexo do que uma simples leitura de GPU e, portanto, requer sincronização explícita do host (por exemplo: a cópia deve ter sido concluída antes que a CPU possa ler do buffer). Não consigo encontrar nada que confirme isso.
O modelo de memória Vulkan requer apenas sincronização para garantir a disponibilidade, visibilidade e domínio de memória das operações de gravação . Se as operações de gravação que colocam dados nessa memória já garantiram que essas gravações estejam disponíveis e visíveis para o host e as operações de cópia da GPU, nenhuma operação de leitura afeta a outra.