Separate GL program/shader object functions