Call _ae_update_state when array enable state changes
authorKrzysztof Czurylo <krzysztof.czurylo@intel.com>
Thu, 21 Aug 2008 22:01:20 +0000 (15:01 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 21 Aug 2008 22:01:59 +0000 (15:01 -0700)
commit6f4fd3a4322a3d7c63207999e08b07ba46b0fc66
tree6cb97de72c1e91fdf20ffdd9998f925707c89da9
parentbe30fddc7c6d0a75cf0777cf24591c3a6439e2c6
Call _ae_update_state when array enable state changes

Basically, the application enables client vertex and color arrays,
renders something, then disables color array, and renders something
else (using vertex array only).  Even though the color array is
disabled (and the pointer is no longer valid), the driver still tries
to read color data from this array (which results in an exception).

This is because enabling/disabling array does not trigger
_ae_update_state() and the list of enabled arrays is not updated.
_ae_update_state() it's called on the first state validation only (as
all the "dirty" flags are set at the beginning). Any further change to
client arrays' state has no effect.
src/mesa/main/enable.c