Previously it was assumed that only one unbounded array would be used, but this is no longer true. That caused the order of the unbounded arrays to be shuffled (the first unbounded array would be moved to the end) and other unbounded arrays might not appear at the end of the binding table. This would then cause validation failures in Vulkan.
This fixes it so that all unbounded arrays appear together at the end, in the original order they were originally defined.
Ran all AZSLC tests, tested in AtomSampleviewer's bindless sample, and tested with terrain using bindless textures.
Previously it was assumed that only one unbounded array would be used, but this is no longer true. That caused the order of the unbounded arrays to be shuffled (the first unbounded array would be moved to the end) and other unbounded arrays might not appear at the end of the binding table. This would then cause validation failures in Vulkan.
This fixes it so that all unbounded arrays appear together at the end, in the original order they were originally defined.
Ran all AZSLC tests, tested in AtomSampleviewer's bindless sample, and tested with terrain using bindless textures.