In 6255507 we added a new codepath to the OGL pipeline that uses framebuffer objects
(FBOs) instead of pbuffers. There are many benefits to using FBOs:
- platform independent render-to-texture API
- improved blitting performance
- can transform/blend/etc just like regular textures, unlike pbuffers
- can avoid expensive context switches in many cases
SwingMark numbers are improved anywhere from 10-15% (depending on the hardware) when
using the FBO codepath instead of the default pbuffer-based one. Unfortunately though
when we fixed 6255507 the extension was still relatively new and there were driver
bugs that prevented us from enabling the FBO codepath by default. The purpose of this
bug report is to discuss the resolved/remaining barriers and to provide a vehicle
for enabling the FBO codepath by default for the best out-of-box performance
experience.