[Mesa-dev] [rfc] radv drop all tess/gs specific user sgprs

Dave Airlie airlied at gmail.com
Wed Feb 21 01:35:28 UTC 2018


It seems to be season for reducing sgpr usage, but I was looking
at the tess/gs sgprs on radv when I realised nothing in them wasn't
static from the pipeline at compile time, so there is no need to
go passing to the shader via the user sgprs.

This series removes all the tess/gs specific users sgprs from radv.

It firstly adds support to the info gathering pass to get the tess
outputs for vs/tcs. Then it uses that info and drops each sgpr
in turn. It also moves some of the calculation code into the shader
side, like lds size.

This code should only affect radv specific code in the nir->llvm
code.

I've tested on vega/vi with a cts subset + shader demos.

I'm not really sure this gives any speedup on anything, but it
definitely makes the code a lot leaner, I've also probably left
the calculations in the ac code a bit verbose to avoid making
mistakes when moving them over from the pipeline, these could
be cleaned up later.

Dave.


More information about the mesa-dev mailing list