Hi, I've been looking into the GLES1/2 support in mesa and trying to figure out how to make it work for DRI drivers as well. The current approach only works for gallium, and it works by compiling mesa core as different state trackers. Each state tracker is just a thin filter on top of the public API and in the end, the result is essentially three copies of the mesa state tracker that all load the same gallium chipset driver to deal with the hardware. As far as I understand it, anyway.
I would like to propose that we structure the code a bit differently, specifically I would like to see a way where we can load one DRI driver which can implement multiple GL APIs. I understand that gallium was designed to support mulitple APIs, however, in the case of gl/gles1/gles2, there is a big overlap, and we can support all three without different state trackers. Specifically, what I'm thinking of is - the dri driver gets a new entry point that lets us create a context for a specified API (along these lines: http://cgit.freedesktop.org/~krh/mesa/commit/?h=gles2&id=707ad2057e5a2ab2e5fa36be77de373ed98967c5) - mesa core becomes multi api aware, struct gl_context gets a new API field - move the es entry points from src/mesa/es into src/mesa/main - create src/gles1 and src/gles2 directories for compiling libGLESv1.so and libGLESv2.so; basically glapi-es2 as a shared object file. Obviously, we should keep the option to compile mesa state tracker as gles1 or gles2 only for example (to allow building a small gles2-only dri driver and to keep the current gallium setup working). This is all still work in progress for me, but I'm curious what people think of this approach. Thanks, Kristian ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev