Зачем убивать TGSI?
TGSI (Tungsten Graphics Shader Interface) был разработан более десятилетия назад для драйверов Gallium3D. В то время он решал свои задачи, но архитектура Mesa эволюционировала. Сегодня большинство фронтендов и драйверов оборудования уже перешли на NIR (New Intermediate Representation) — более эффективный, гибкий и оптимизированный формат промежуточного кода. Оставаться на TGSI — значит поддерживать балласт, который замедляет развитие и усложняет поддержку кода.
Где еще живет TGSI?
Несмотря на массовый переход, TGSI все еще присутствует в ключевых компонентах Mesa. На конференции XDC 2026 разработчик Erik Faye-Lund представил дорожную карту по устранению этого наследия. Основные «островки» использования TGSI включают:
- VMware SVGA: виртуальный драйвер, все еще использующий TGSI.
- VirGL: протокол для виртуализации, где TGSI используется в текстовом формате.
- Intel i915g: шейдерный компилятор для старых GPU Intel.
- Nouveau NV30: компилятор шейдеров для устаревших GPU NVIDIA.
- D3D10UMD (VMware): фронтенд, генерирующий TGSI.
План действий
Работа будет вестись в нескольких направлениях. Во-первых, необходимо конвертировать оставшиеся шейдеры из TGSI в NIR. Во-вторых, требуется переработать сам интерфейс Gallium3D, чтобы он больше не опирался на TGSI. В-третьих, некоторые устаревшие компоненты, не имеющие перспектив, могут быть просто удалены из кодовой базы Mesa.
Значение для сообщества
Это не просто техническая чистка. Удаление TGSI упростит архитектуру Mesa, снизит порог входа для новых разработчиков и позволит оптимизаторам сосредоточиться на одном, более современном формате (NIR), а не на поддержке двух параллельных систем. Процесс будет длительным, но окончательная цель — полный sunset TGSI — уже обозначена.
Источник: Phoronix ↗
