[Mesa-dev] i965: Pull parameters in SIMD16 mode.

Eric Anholt eric at anholt.net
Mon Mar 17 17:13:10 PDT 2014


Kenneth Graunke <kenneth at whitecape.org> writes:

> Hello,
>
> This series adds support for pull constants in SIMD16 mode.  By the end
> of the series, shader-db gains 78 extra SIMD16 programs, and the net
> code change is -39 lines.  In short:
>
>    <anholt> better living through deleting code.
>
> Most of the work in this series is refactoring the code to change how
> information about locations is tracked and how it flows between functions.
> Overall, I think it's much nicer at the end (though I'm clearly biased).
>
> This is available in the 'pull16-v12' branch of ~kwg/mesa.  I tested it
> for Piglit regressions and shader-db code quality regressions at every
> single commit---getting a patch series that didn't regress at any point
> was kind of tricky.  Lots of obviously correct code would break
> horribly...hence the 12 branch revisions. :)

I feel pretty good about the detail-oriented review by Topi (thanks!),
and decided to just go over the general ideas myself.  Overall, it looks
like there aren't any new assumptions, and if anything this makes my old
fragile code a little less fragile.  Then I ran a test across shader-db
making sure that we didn't grow push/pull params from something like
dead constant elimination breaking, and got these results:

-PUSH PARAMS: 4
+PUSH PARAMS: 0
-PUSH PARAMS: 1
+PUSH PARAMS: 0
-PUSH PARAMS: 1
+PUSH PARAMS: 0
-PUSH PARAMS: 3
+PUSH PARAMS: 0
-PUSH PARAMS: 3
+PUSH PARAMS: 0
-PUSH PARAMS: 25
+PUSH PARAMS: 0

So it looks like things are in good shape.

Reviewed-by: Eric Anholt <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140317/b1dcfdf9/attachment.sig>


More information about the mesa-dev mailing list