1 type Image 2 def update (bytes : Slice<u8>) = 3 let command_buffer : CommandBuffer @auto 4 let instance = command_buffer.instance 5 6 assert bytes.size as u64 <= size 7 8 if layout <> ImageLayout/TransferDstOptimal then 9 transition layout ImageLayout/TransferDstOptimal 10 11 let target = Target/Image object width height |> as_target 12 buffer/write target bytes.ptr bytes.size 32 13 14 generate_mipmaps instance.physical_device command_buffer.object 15 object format width height mip_levels array_layers 16 17 layout = ImageLayout/ShaderReadOnlyOptimal 18