Robert Bragg b6cea6bed6 arbfp: track which layers have combine constants
We weren't actually tracking which layers have been allocated param
space for combine constants; all layers just had a default constant_id
of 0 that indexes into the program.local[] params array and a dirty flag
to say when the constant needs updating. There are times though when we
say to update everything by-passing the dirty flag and because we
weren't actually tracking which layers needed constants we would always
write a constant to program.local[0] for every layer. The upshot was
that we could end up clobbering a real constant that was actually
allocated the constant_id = 0 slot.

This patch adds a new UnitState bitfield to track if the layer has a
corresponding constant that may need flushing and we only ever write the
constant with glProgramLocalParameter4fv if that's set.

https://bugzilla.gnome.org/show_bug.cgi?id=658092

Reviewed-by: Neil Roberts <neil@linux.intel.com>
2011-09-09 14:40:48 +01:00
..
2011-09-06 11:19:20 +01:00
2010-06-01 12:08:18 +01:00
2011-06-09 16:21:15 +01:00
2011-06-09 16:21:15 +01:00
2011-08-12 15:28:44 +01:00
2011-08-12 15:28:44 +01:00
2011-07-19 19:27:09 +01:00
2011-07-19 19:27:09 +01:00
2011-08-12 15:28:42 +01:00