В Документация лучшего опыта Apple по компиляции языка шейдинга Metal , Apple рекомендует попробовать объединить все шейдеры в одну библиотеку:
Если вам нужно использовать утилиты командной строки Metal или методы времени исполнения для создания вашей библиотеки, объединения вашего исходного кода языка затенения Metal и группировки всех ваших функций в одну библиотеку. По возможности избегайте создания нескольких библиотек.
Почему бы не создавать несколько библиотек? В чем проблема при этом?