12 июня Марек Ольшак (Marek Olšák, разработчик драйверов AMD OpenGL/Gallium3D) добавил в Mesa версии 24.2 большую серию патчей универсального оптимизированного вычислительного шейдера прозрачности/бликового изображения и пиксельного шейдера с разрешением MSAA.
В результате переработки в Mesa будет добавлено почти две тысячи строк нового кода перед стабильной версией v24.2, которая должна выйти в августе. После месяца проверки/тестирования код на прошлой неделе был включен в основную ветку.
Марек сообщает:
«Этот MR оптимизирует все очистки, блики и разрешение MSAA. Большая часть MR - это изменения radeonsi, но последние три коммита переносят большую часть этой работы на amd/common, включая вычисление параметров диспетчеризации вычислений.
Сам шейдер очистки/блика вычислительного изображения оптимизирован для Navi31. Выбор самого быстрого пути оптимизирован для всех поколений (gfx6-11).
Если тайлинг тонкий, путь пиксельного шейдера для очистки, блицирования изображения и разрешения MSAA обычно превосходит все пути, включая сложный вычислительный шейдер в этом MR.
В некоторых случаях путь пиксельного шейдера также превосходит DCC comp_to_single Clear.
Путь пиксельного шейдера почти всегда превосходит путь CB_RESOLVE с фиксированной функцией.
Если мозаика толстая или линейная или копия имеет формат L2T или T2L, путь вычислительного шейдера обычно превосходит все пути.
И вычислительный шейдер, и пиксельный шейдер показывают сопоставимый уровень производительности, причём в наиболее распространенных случаях пиксельный шейдер работает быстрее».
Данный код AMD находится в Mesa 24.2, который будет ответвлен от основной ветки Git в июле, и начнет свой путь к выпуску в августе вместе с большим количеством изменений драйверов не только для стека AMD Radeon, но и драйвера NVK NVIDIA Vulkan, Intel OpenGL, и драйвера Vulkan.