ported all fix due to shader