What is the difference between a VGImage and an EGLSurface? Or to ask a bit differently: What IS an EGLSurface? The OpenVG spec defines a VGImages as "a rectangular collection of pixels", but that is true for surfaces too, isn't it? The EGL spec just lists some examples for EGLSurfaces, but doesn't define what it IS.

There are things you can do with images that you can't do with surfaces. For example, you can use an image as surface, but not vice versa. Why is that?