i965: Rework the TCS passthrough shader to use NIR.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 9 Apr 2016 06:19:34 +0000 (23:19 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 3 May 2016 23:27:52 +0000 (16:27 -0700)
commit75881bed9e12cee1abfb5ec466e17ff2b253e0ab
tree864ce742cdf0a94cd091e1b16365371693cc2274
parentef5a31fc06d58ad655fd6b71ed3e939147e67108
i965: Rework the TCS passthrough shader to use NIR.

I'm about to implement a scalar TCS backend, and I'd rather not
duplicate all of this code there.

One change is that we now write the tessellation levels from all
TCS threads, rather than just the first.  This is pretty harmless,
and was easier.  The IF/ENDIF needed for that are gone; otherwise
the generated code is basically identical.

I chose to emit load/store intrinsics directly because it was easier.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/mesa/drivers/dri/i965/brw_tcs.c
src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
src/mesa/drivers/dri/i965/brw_vec4_tcs.h