Hologram allocates a uniform buffer to store the 5000 objects that it is rendering, resulting in a need for a 1.28 MB buffer. In it's call to UpdateDescriptorSets, it specified VK_WHOLE_SIZE for the range, without regard for the driver's limit specified in maxUniformBufferRange, which on at least one driver is 64k. Hologram::CreateDescriptorSets() should be fixed to update the uniform buffer in maxUniformBufferRange sized chunks by using multiple descriptor writes per buffer, using VkDescriptorBufferInfo.offset and .range as necessary to update the entire uniform buffer.