Right now it feels like a lot of the blame falls on xbmc. But at the same time, this works on nouveau and presumably the proprietary drivers. I guess the behaviour that xbmc is expecting is that the only time it will wait for a vblank, is that explicit vblank waiting in step 2.? Now is that an unreasonable expectation? Or should the radeon driver be fixed to support this?