Подскажите, я правильно понимаю, что компилировать разные пермутации шейдера с точки зрения производительности выгоднее, чем бранчить логику внутри шейдера?
Если там небольшие изменения, то в итоге ALU инструкции получишь, что не дорого. Всё от ситуации зависит.