Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

3
  • 2
    $\begingroup$ Judging by the validation layer output, you have quite a bit of clean up work to do. It's hard to see from that, but I believe the very last layer message relates to your problem, there seems to be something off with your command buffer, though with the source code given I have no way to say what may be not working. If you add code to set debug names with vkSetDebugUtilsObjectNameEXT, it would be a bit easier to interpret the layer messages, as they add those names. Perhaps also have a look with RenderDoc, see if that gives you more information. $\endgroup$ Commented Feb 12, 2024 at 7:46
  • $\begingroup$ Hi @Tare, thank you for your input. Do you know, should I be using an image memory barrier instead of a buffer memory barrier? $\endgroup$ Commented Feb 12, 2024 at 15:59
  • 1
    $\begingroup$ Sorry, but I don't know if it is "illegal" - but if it were, I'd expect the validation layers to throw an error. You could try to do it without a memory barrier and put a few "vkDeviceWaitIdle` before attempting to copy. In one of my projects I use vkCmdCopyBufferToImage, but I don't flush like you do. Instead, I use the beginSingleTimeCommands technique from the tutorial, see: vulkan-tutorial.com/Texture_mapping/Images (i.e. submit to a queue and then wait for the queue to finish with vkQueueWaitIdle). Inefficient to wait this way, but perhaps try for testing $\endgroup$ Commented Feb 12, 2024 at 20:07