Я сделал 2 экземпляра VkQueue: один из семейства графических и другой из семейства переносов. Пулы команд и буферы команд разделены соответственно. Оба выполняют операции передачи.
- Целью первого, кроме рендеринга, является обновление единообразных буферов в каждом кадре.
- Целью второго является обновление ресурсов: буферы вершин / индексов модели , текстуры изображений et c.
Они работают параллельно в разных потоках асинхронно. Поэтому возможно, что vkQueueSubmit будет одновременно совершено 2 вызова.
Разрешено ли такое использование и безопасно ли это?
Примечание: однажды у меня в многопоточной программе иногда появляется VK_DEVICE_LOST на vkQueueSumbit, и, вероятно, это происходит чаще, когда ресурсы загружаются, поэтому я действительно пришел к этому вопросу