may code for looping DescriptorBufferInfo
var descriptorBuffers = ArrayList(vk.DescriptorBufferInfo).init(Self.allocator);
for (data.items, 0..) |value, i| {
try descriptorBuffers.append(vk.DescriptorBufferInfo{
.buffer = value.local_memory_Buffer,
.offset = i,
.range = value.size,
});
}
data.items type
const memory_output = struct {
local_memory_Buffer: vk.Buffer,
size: u32,
};
error i get
VUID-VkWriteDescriptorSet-descriptorType-00328(ERROR / SPEC): msgNum: -368569266 - Validation Error: [ VUID-VkWriteDescriptorSet-descriptorType-00328 ] | MessageID = 0xea08144e | vkUpdateDescriptorSets(): pDescriptorWrites[0].pBufferInfo[1].offset (0x1) must be a multiple of device limit minStorageBufferOffsetAlignment 0x4. The Vulkan spec states: If descriptorType is VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the offset member of each element of pBufferInfo must be a multiple of VkPhysicalDeviceLimits::minStorageBufferOffsetAlignment (https://vulkan.lunarg.com/doc/view/1.3.261.1/windows/1.3-extensions/vkspec.html#VUID-VkWriteDescriptorSet-descriptorType-00328)