For the most part that nicely sums up the problem :-). One consideration that I think should be added to that list is that we probably want to be able to run at least d3d8 and d3d9, and possibly ddraw, on top of GL 3.