I was talking this over with Kristian actually. Since we allocate the
front buffer dynamically for KMS, we could probably let the maximum
virtual size be 4k or so (which I think really is the 2d limit). In
principle, well-behaved GL apps are supposed to check the
GL_MAX_VIEWPORT_DIMS limit, since that's the maximum window size that's
expected to work. So if compiz were well-behaved, it would refuse to
run if the root window were larger than that.
Whether compiz actually _does_ that is another question, of course. But
I think changing the max virtual to 4k for intel 915 and 945 might be a
less bad set of tradeoffs.