This is due to lacking the following indexing extensions:
RuntimeDescriptorArrayDescriptorBindingPartiallyBound
The fix is to allow for devices that do not support these extensions to use an alternate flow:
-new descriptor set with descriptors that do not have the vk::DescriptorBindingFlagBitsEXT::ePartiallyBound flag set
-new descriptor pool without vk::DescriptorPoolCreateFlagBits::eUpdateAfterBind.
-shaders all have arrays declared with hardcoded max.
...
possibly more.
Lower end and older GPU drivers do not support having unbound arrays in shaders.
This is due to lacking the following indexing extensions:
RuntimeDescriptorArray
DescriptorBindingPartiallyBound
The fix is to allow for devices that do not support these extensions to use an alternate flow:
-new descriptor set with descriptors that do not have the
vk::DescriptorBindingFlagBitsEXT::ePartiallyBound
flag set -new descriptor pool withoutvk::DescriptorPoolCreateFlagBits::eUpdateAfterBind
. -shaders all have arrays declared with hardcoded max. ... possibly more.The following branch: https://github.com/NcStudios/NcEngine/tree/jare-add-support-for-lower-end-hardware has begun the work to support this.