simplify mobile shader and fix desktop