tidy; only swap texture if different