Найти тему
Games4Linux

Завершение работы над переходом к NIR в Mesa 24.3

Команда графики Valve под руководством Тимоти Арсери успешно объединила код для Mesa GLSL, который теперь будет конвертироваться в NIR (New Intermediate Representation) на этапе компиляции. Этот шаг завершает многоступенчатую работу, продолжавшуюся на протяжении нескольких лет, и будет представлен в релизе Mesa 24.3.

Переход к NIR

Основная цель данного обновления заключается в том, чтобы избавиться от устаревшего GLSL IR линковщика и перейти на полностью NIR-ориентированный линковщик. Это изменение не только упрощает код, но и обеспечивает более высокую производительность и поддержку для будущих разработок.

В своем запросе на объединение, Арсери отметил:
> "Это последний запрос на объединение после многих лет работы множества людей, чтобы мы пришли к этой точке. Этот набор изменений перемещает функцию glsl_to_nir() на этапе компиляции и заменяет оставшиеся части GLSL IR линковщика на полностью основанный на NIR линковщик."

Преимущества обновления

1. Чистота кода: Удаление устаревшего кода делает структуру более понятной и управляемой для текущих разработчиков Mesa, что должно упростить дальнейшую поддержку и развитие проекта.

2. Оптимизации в кэшировании шейдеров: Это обновление также открывает возможности для улучшения кэширования шейдеров, что позволит не только сохранять связанные шейдеры, но и скомпилированные шейдеры.

3. Поддержка для будущих улучшений: Направление на NIR предоставляет новый подход для интеграции будущих улучшений и может помочь в разработке новых функций и оптимизированных решений.

Ссылка: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31137