Старый драйвер Radeon R300g в Mesa получил крупную чистку кода

Основную работу ведёт разработчик Pavel Ondračkar — один из немногих энтузиастов, которые в последние годы уделяют время драйверу R300g. Сейчас он занимается удалением мёртвого кода и подготовкой к более важному изменению: объединению путей nir_to_rc и tgsi_to_rc.
Что меняют в R300g
Главная техническая проблема R300g в том, что драйвер до сих пор использует старое промежуточное представление TGSI в Gallium3D. Большинство современных драйверов Mesa уже давно перешли на NIR — более современную архитектуру, которая даёт больше возможностей для оптимизации и потенциально лучшей производительности.
Подготовительные изменения уже попали в Mesa 26.2-devel. Однако полное исключение TGSI из R300g пока не завершено: у Pavel Ondračkar есть отдельная ветка, где эта работа, по его словам, в основном уже функционирует, но ещё не готова на 100%.
R300g поддерживает видеокарты от Radeon 9500 R300 до Radeon X1000 R500. Первым GPU ATI R300 уже около 24 лет, а даже самые новые карты из поддерживаемой линейки Radeon X1000 приближаются к возрасту 21 год.
Такие изменения не сделают старые видеокарты пригодными для современных игр, но сам факт доработки важен для экосистемы Mesa. Это редкий пример, когда open-source драйвер продолжает получать архитектурные улучшения спустя много лет после окончания официальной поддержки железа производителем.
Работа над R300g идёт на фоне обсуждений внутри Mesa о будущем старых драйверов для устаревшего оборудования. Часть разработчиков рассматривает вариант вынести такие компоненты в отдельную ветку, чтобы основной код Mesa было проще поддерживать.
Поэтому текущая чистка R300g выглядит особенно важной: драйвер не просто сохраняют в рабочем состоянии, а пытаются избавить от устаревших внутренних механизмов до возможных изменений в структуре поддержки старого железа.
Источник: Phoronix