I committed the pix_texture changes to use multiple texture units. Not sure if the calls need to have an ifdef around them or not?
cgc
It looks like the key to getting shaders working with multiple texture units has to do with the texture target geometry knowing about the proper texture coordinates. A while ago SetVertex() was modified to set up the first 8 multitexture coordinates. Right now only square uses this call as far as I can tell. All of the Geos could be changed to use this function or a different SetTexCoord() one could be made to deal with the glMultiTexCoord2fARB calls. The code would be pretty ugly if each Geo added 7 more texture calls per vertex otherwise.
Also, I quickly added a 'texunit' message and glActiveTextureARB() call the pix_texture which allows for the use of multiple texture units in shaders without pix_multitexture. I don't know if this is duplicate work or goes against plan, but it seems pretty straightforward when working with shaders.
cgc