[Mesa-dev] i965: Scheduling fixes for gles3conform

Eric Anholt eric at anholt.net
Fri Dec 7 14:58:11 PST 2012

Here's the series that came out of trying to fix the gles3conform ubo test
that has a steaming pile of ubo variables and was dying in register
allocation.  Patch 4/7 is where that got fixed.

Patches 5-7 are followons that I've wanted and had in various forms lying
around my trees, only now with no regressions in shader-db, and actual data
justifying the particular numbers chosen.  Unfortunately, I have no data
justifying them from a benchmarking point of view.  I don't know what I want
to do here -- I don't like pushing +LOC of theoretical performance
improvements without actual performance improvement to back it up.  I mean,
there are a couple of obvious conclusions here:

1) Scheduling just doesn't matter on the testcases I'm looking at.

2) I've botched the scheduling in some way so the improvements are cancelled
out by the regressions.  For example, I'm not dealing with the WAR latency
correctly for message register writes -- does it matter?  Have I missed
something else like that?

I'm thinking I might be able to apply shader_time and some stats to decide
whether we are doing things better, just not doing things that matter enough.

More information about the mesa-dev mailing list