glsl: cache uniform values