I was going through the EGL 1.3 spec and i was stuck when it was explaining that "A context can be used with any EGLSurface that it is compatible with".

Here in one of the point, the spec mentions that A surface and context are compatible if

==>The surface was created with respect to an EGLConfig supporting client API rendering of the same type as the API type of the context (in environments supporting multiple client APIs ).

Can any one please explain what it has actually meant.My understanding is that if the surface was created with an EGLConfig which supports rendering of OPENGL API, then the context has to be also created for OPENGL API and similar for OPENVG.So, it seems somehow the surface has a binding to the rendering API.

If this is the case, then how can multiple rendering API (one OPENGL and one OPENVG) can draw on the same surface?

I am not sure whether i am misinterpreting the spec, can any one please clarify.