The layer idea is not bad,
but its more the taste of a hack.
Remember that dri is OpenSource,
so you dont need those hacks.
As soon as you start with that you will notice that a layer
will increase distance between your application and the drivers
on nearly any call. You dont really want that.
Further you cant ensure that you covered all the paths
because GL is an extensible system that might open
highly relevant paths. And you might have to keep track
of the numerous render state variables in order to keep
the things in order and to know when to intercept and
when not to intercept.
I think its easier to turn on several features in the driver
than somewhere else. Maybe there are features you can by no
means control with the help of an intermediate level.
(Remebering the FireGL big focus and Stereo support.)
-Alex.