anchor.diff:                  device.CopyEngine.Enqueue [
                       CopyCommand.TransformLayout(imageRange, VkImageLayout.Undefined, VkImageLayout.TransferDstOptimal)
                       CopyCommand.Copy(temp, imageRange.[0,0])
  +                    CopyCommand.SyncImage(imageRange, VkImageLayout.TransferDstOptimal, VkAccessFlags.TransferWriteBit)
  +
                       CopyCommand.Release(imageRange, VkImageLayout.TransferDstOptimal, device.GraphicsFamily)
                       CopyCommand.Callback(fun () -> device.Delete temp)
                   ]
  
positive.code:                                 )
                              )
  
                              
                          yield CopyCommand.Release(result.[ImageAspect.Color], VkImageLayout.TransferDstOptimal, device.GraphicsFamily)
                          yield CopyCommand.Callback(fun () -> tempImages |> Array.iter (fst >> device.Delete))
                      ]
  
negative.code:                             yield CopyCommand.TransformLayout(src.[ImageAspect.Color], VkImageLayout.Preinitialized, VkImageLayout.TransferSrcOptimal)
                              yield CopyCommand.Copy(src.[ImageAspect.Color, 0, 0], result.[ImageAspect.Color, level, 0])
                                 
                          yield CopyCommand.SyncImage(result.[ImageAspect.Color], VkImageLayout.TransferDstOptimal, VkAccessFlags.TransferWriteBit)
  
                          yield CopyCommand.Release(result.[ImageAspect.Color], VkImageLayout.TransferDstOptimal, device.GraphicsFamily)
                          yield CopyCommand.Callback (fun () -> levels |> Array.iter (fun i -> delete i device))
                      ]
  