summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2014-10-03 18:13:05 -0700
committerJason Ekstrand <[email protected]>2014-10-24 16:25:31 -0700
commit5d1046291a13a1be4bfaeed0fb9d758f877e927e (patch)
tree77df332f764c0c329959830c24c13880dd68270d /docs
parent2ec161b2396b08341264965a5825152784b54549 (diff)
i965/fs: Compute q-values for register allocation manually
Previously, we were allowing the register allocation code to do the computation for us in ra_set_finalize. However, the runtime for this computation is O(c^4 * g) where c is the number of classes and g is the number of GRF registers. However, these q-values are directly computable based on the way we lay out our register classes so there is no need for the aweful runtime algorithm. We were doing ok until commit 7210583eb where we bumped the number of register classes from 11 to 16. While startup times don't normally matter, this caused piglit to take 4 times as long to run on Bay Trail. This patch should make generating the ra_set much faster and melt the piglit run times. v2: Fixed a couple of bugs. I have now verified that the same q-values are generated both ways. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions