image.go
func (i *Image) makeVolatile() {
	if i.isDisposed() {
		return
	}
	i.mipmap.orig.MakeVolatile()
	i.disposeMipmaps()
}
func (i *Image) makeVolatile() {
	if i.isDisposed() {
		return
	}
	i.mipmap.orig.MakeVolatile()
	i.disposeMipmaps()
}
// makeVolatile makes the image 'volatile'.
// A volatile image is always cleared at the start of a frame.
//
// This is suitable for offscreen images that pixels are changed often.
//
// Regular non-volatile images need to record drawing history or read its pixels from GPU if necessary so that all
// the images can be restored automatically from the context lost. However, such recording the drawing history or
// reading pixels from GPU are expensive operations. Volatile images can skip such oprations, but the image content
// is cleared every frame instead.
//
// When the image is disposed, makeVolatile does nothing.