eglCreatePbufferFromClientBuffer and Coordinate Systems

Another question that arised recently:

OpenVG Images are defined to have the origin of the coordinate system in the lower left corner (same as OpenGL textures and the OpenGL render surface).

So far everything is consistent.

However, the physical orientation (in memory) of the VGImage and Pbuffers are implementatin dependent. How should we handle the case if they don’t match? For example the PBuffers could be top-down and the VGImages are bottom-up? If I would map the Image-Memory as a PBuffer surface it would appear to be mirrored on the x-axis.

Also, we can’t query the physical orientation of PBuffers from EGL, so it’s hard to decide what to do.


Given that both libEGL and libOpenVG come from the same implementor, wouldn’t you expect that they match? Wouldn’t be too clever to introduce extra overhead for themselves.

They don’t have to come from the same implementor. But if they don’t, they have to work together using some unspecified interface. This interface must be able to handle all necessary information.

Agreed. What I was trying to convey - and as you pointed out - there must be some common ground between both components.