i965/vec4/gs: restore the uniform values which was overwritten by failed vec4_gs_visi...
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Fri, 5 May 2017 08:42:15 +0000 (10:42 +0200)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Thu, 18 May 2017 04:49:28 +0000 (06:49 +0200)
commit354f7f2cb9c7206e12646c79d8ff5becbaffa61b
treead05775bb131a716a99c0075d12b3da3c5dc017b
parente8ea42d245cb6adc7f16ee4e96fd89d905d2163a
i965/vec4/gs: restore the uniform values which was overwritten by failed vec4_gs_visitor execution

We are going to add a packing feature to reduce the usage of the push
constant buffer. One of the consequences is that 'nr_params' would be
modified by vec4_visitor's run call, so we need to restore it if one of
them failed before executing the fallback ones. Same thing happens to the
uniforms values that would be reordered afterwards.

Fixes GL45-CTS.arrays_of_arrays_gl.InteractionFunctionCalls2 when
the dvec4 alignment and packing patch is applied.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Cc: "17.1" <mesa-stable@lists.freedesktop.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
src/intel/compiler/brw_vec4_gs_visitor.cpp