Windows Calling Convention


I was playing with the refenerce implementation of OpenVG, and ran into a little problem. As best as I can tell, the calling convention on the entry points is __cdecl (not __stdcall) on both the EGL and VG entry points. The same seems true for rasteroid, as well as amanithvg…

Now, when running things like GLES applications under windows, I noticed that those expect the __stdcall calling convention for both EGL, and GLES.

This makes things like putting EGL+VG+GLES in one driver seem rather difficult. Is the reference implementation wrong and should the entry points be defined as APIENTRY (== stdcall) for windows? Having it as anything else (like __cdecl) seems kind of silly to me.



That would depend on the egl.h/eglplatform.h/openvg.h/gl.h header files used when compiling those applications.