synchronization2 layer doesn't implement descriptor updates
nanokatze opened this issue · 0 comments
nanokatze commented
It's possible to write a sampled image descriptor which expects the image subresource to be in VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, which was introduced in sync2. The sync2 layer doesn't implement vkUpdateDescriptorSets and other descriptor update functions and an invalid value will just be passed further down the dispatch chain.
The workaround is to not use sync2 layouts when an image subresource will be accessed through a descriptor.
A possible fix would need to implement vkCreateImageView so that it can tell the aspect bits when writing the descriptor. Another simpler, but possibly worse-performing, fix would map all read-only layouts to general.