[Mesa-dev] intel_draw_buffers overhead reduction (with mesa core changes)

Eric Anholt eric at anholt.net
Thu Jun 20 23:07:53 PDT 2013

With some of our new platforms, CPU overhead is becoming a major issue, so
I started poking around the profile of cairo-gl again.  I noticed some
comedy in the FBO statechange path, where i965 was recomputing state
multiple times up front instead of delaying it until draw time.  Most it
originally came from the merge of FBO support to i965, where I flagged
extra state because we didn't have all the required state flags sorted out
at the time.

In the process, I noticed some silly duplicated code between drivers and
Mesa core, and ripped that out.  Should you want to test it, the code is
at the i965-drawbuffers-reduction branch of my Mesa tree.  The end result
for cairo-gl is a 2.2964% +/- 0.459116% improvement in test runtime
(n=31/30).  I didn't analyze which particular patches gave the biggest
wins, though patch 10/11 was big on the profile.

More information about the mesa-dev mailing list