shader generation improvements