Last September, Andy Ritger proposed updating the Linux OpenGL ABI to allow for multiple vendors to co-exist within a single process and OpenGL applications to dispatch commands to different vendors with per-context granularity. The current proposal [1] calls for a vendor-neutral "API library" which acts as an intermediate layer between the application and OpenGL vendor implementations that manages this dispatching.
I have written a work-in-progress library based on this proposal which implements this API library for GLX. This library leverages some code from Mesa's glapi module to handle TLS and core OpenGL dispatching, as well as the BSD-licensed uthash library [2] and the X.org Xserver's list.h [3]. The library source can be found at this location: http://github.com/NVIDIA/libglvnd In this repository, the file README.md describes the library's code organization and architecture as well as remaining open issues and implementation TODOs. What do people think about this? We are hoping to gather feedback to help facilitate discussion of the implementation of the new ABI during XDC 2013. Any concerns, suggestions, or other comments would be much appreciated. Thanks, Brian [1] https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt [2] http://troydhanson.github.io/uthash/ [3] http://cgit.freedesktop.org/xorg/xserver/tree/include/list.h?id=74469895e39fa38337f59edd64c4031ab9bb51d8 ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev