I've just created a branch to house some experiments to do with integrating the i965 driver a little better with core Mesa.
In particular, the i965 driver houses a cloned version of the vertex building code from the tnl module. My particular plan is to eliminate both copies of this code and recreate it in a new location where it is separate from both the tnl module and the drivers. In this new incarnation the code will have a single purpose - to build and manage VBO's containing vertices passed to mesa whether through the intermediate api, as vertex arrays, display lists or even directly as VBO's. The "vbo_builder" module will keep track of these VBO's and make a single callback I'm calling "DrawPrimitives" which passes a list of primitives, a list of active arrays (all within VBO's) and possibly an index buffer. The driver's task is simply to upload (if necessary) those VBO's and draw the primitives. The tnl/ module in turn has been stripped of its display list building and immediate api, and will have a single new entrypoint, also called DrawPrimitives which matches the callback above exactly. Also as a result, the nasty array_cache thing can go away forever. This will (once merged) have a few effects on other drivers. The vtxfmt code in a couple of drivers (r200, r300) starts to look redundant - the assembly optimizations there could be cleaned up and pulled into vbo_builder. The radeon_vtxfmt_a.c needs a bit more investigation, but hopefully can be adapted to work well with the vbo building code. Ultimately what this should mean is that we end up with just a single way of building vertices across all drivers, both software and hardware tnl, and falling back to swtnl in a hardware driver should be as simple as calling the tnl module's DrawPrimitive() command directly from the driver. Keith ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
