i965: Pull stage_prog_data.nr_params out of the NIR shader
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 30 Sep 2015 23:09:01 +0000 (16:09 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 2 Oct 2015 21:19:39 +0000 (14:19 -0700)
commita7e0f755bcb626ed8f8ca773b7d193dd82364513
tree1cc355b1ac18c60b2a13a39527b433880d7629ee
parentfc3f45234b4ff9545c84fbe8ec5261604d5ab611
i965: Pull stage_prog_data.nr_params out of the NIR shader

Previously, we had a bunch of code in each stage to figure out how many
slots we needed in stage_prog_data.param.  This code was mostly identical
across the stages and had been copied and pasted around.  Unfortunately,
this meant that any time you did something special, you had to add code for
it to each of these places.  In particular, none of the stages took
subroutines into account; they were working entirely by accident.  By
taking this data from the NIR shader, we know the exact number of entries
we need and everything goes a bit smoother.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/drivers/dri/i965/brw_cs.c
src/mesa/drivers/dri/i965/brw_gs.c
src/mesa/drivers/dri/i965/brw_vs.c
src/mesa/drivers/dri/i965/brw_wm.c