GL 4.1 backport