martty/vuk

Example validation crash

aleokdev opened this issue · 1 comments

Steps to reproduce:

  1. Run the vuk_all_examples example
  2. Click "All"
  3. Change any of the buffers being rendered by clicking on the D/C buttons
  4. Wait ~1 second

Result (This one happens after pressing the 05_position button in the deferred example):

$ ../../../../build/vuk_all_examples 
[WARNING: General](user defined)
terminator_CreateInstance: Failed to CreateInstance in ICD 1.  Skipping ICD.
[WARNING: Performance](user defined)
Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x5625759b1f40, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdBlitImage: For optimal performance VkImage 0x5ef3070000000063[] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
[WARNING: Performance](user defined)
Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x562576106730, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdBlitImage: For optimal performance VkImage 0x33f7660000000075[] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
[ERROR: Validation](user defined)
Validation Error: [ UNASSIGNED-CoreValidation-DrawState-DescriptorSetNotBound ] Object 0: handle = 0x562575b6c940, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0xcde11083 | vkCmdDispatch(): VkPipeline 0x4e6ce70000004c37[Pipeline:stupidsort.comp] uses set #4 but that set is not bound.
/usr/include/c++/11.2.0/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = LAST_BOUND_STATE::PER_SET; _Alloc = std::allocator<LAST_BOUND_STATE::PER_SET>; std::vector<_Tp, _Alloc>::reference = LAST_BOUND_STATE::PER_SET&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__n < this->size()' failed.
Aborted (core dumped)

Happens on my Linux Manjaro system using an AMD card.

Fixed with 888bcf6