[Mesa-dev] mesa: Kill _ReallyEnabled, improve _mesa_update_state() performance.

Eric Anholt eric at anholt.net
Thu Apr 24 17:50:07 PDT 2014


Here's a series I got built when profiling to see why glamor's FBO cache
is necessary.  It turns out the worst spots in the no-cache profile were
present even with the cache, and they were about walking the 96 texture
units we've got these days.  Thanks to Chris Forbes's
_MaxEnabledTexImageUnit, I now found a way to cut down how much we walk,
for a big performance win: -6.50518% +/- 2.55601% effect on runtime of the
test (n=22).  And, along the way, I got to kill a couple of bitfields that
I've always found confusing, and I bet others have as well.

There's still a similar problem with glDeleteTextures() though -- if i
don't use the FBO cache, then we spend 5% of CPU walking the array then.
Anyone have nice ideas for improving that?  I'm thinking of just having a
_MaxBoundTexImageUnit, but maybe there's something better.



More information about the mesa-dev mailing list