mix(vec3, vec3, bool) not accepted by AMDs GLSL compiler. Fixed by explicitly casting bool to float.
Fixed missing update of uniform-state. (Lost during refactoring. See commit 5498d025146d93e5f9fbaf613bcdd1ddb77b807f.)