1 type StorageBuffer = 2 inherit Buffer type = BufferType/Storage 3 offset = 0 4 5 let device : VkDevice 6 let memory : VkMemory 7 8 def discard = 9 vk/destroy_buffer device object null 10 vk/free_memory device memory null 11 12 object StorageBuffer = 13 def create (size : u32) = 14 let instance : Instance @auto 15 16 let device = instance.device 17 let flags = MemoryPropertyFlags/DeviceLocal 18 let usage = BufferUsageFlags/TransferSrc 19 | BufferUsageFlags/TransferDst 20 | BufferUsageFlags/StorageBuffer 21 22 let (buffer, memory) = buffer/create instance.physical_device instance.device 23 size.as<u64> usage flags 24 StorageBuffer object = buffer 25 =size =usage =device =memory 26