Локальная RAII обёртка буфера на C++ отправляет работу GPU, использующую этот буфер, и затем выходит из области видимости. Предположим, её деструктор сразу вызывает vkDestroyBuffer, а отправленные команды, ссылающиеся на буфер, ещё не завершились.
Vulkan требует завершения этих команд до уничтожения буфера. Поэтому обычный выход обёртки из области видимости не может служить свидетельством завершения.
Стоит ли при отправке передавать владение обёрткой в список отложенного освобождения ресурсов кадров, разрешая уничтожение лишь после подтверждения нужного завершения? Задача в том, где должна происходить передача владения. Название списка само по себе оставляет условие освобождения неопределённым.