i965: Move _mesa_ir_link_shader call before device-specific linking
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 24 Oct 2011 23:37:01 +0000 (16:37 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 7 Nov 2011 21:33:16 +0000 (13:33 -0800)
commit143d20c16a33e2f08e834b28c23dbea772591ef9
tree334986990c368e936ca9e395b2dab0353bebceec
parentcfab4327c380e5abd4976e937d9421aa098d0c5f
i965: Move _mesa_ir_link_shader call before device-specific linking

_mesa_ir_link_shader needs to be called before cloning the IR tree so
that the var->location field for uniforms is set.

WARNING: This change breaks several integer division related piglit
tests.  The tests break because _mesa_ir_link_shader lowers integer
division to an RCP followed by a MUL.  The fix is to factor out more
of the code from ir_to_mesa so that _mesa_ir_link_shader does not need
to be called at all by the i965 driver.  This will be the subject of
several follow-on patches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
src/mesa/drivers/dri/i965/brw_shader.cpp