Найти в Дзене
Games4Linux

NVIDIA вносит важный вклад в поддержку Vulkan на Linux с открытым исходным кодом

Компания NVIDIA продолжает демонстрировать свою приверженность открытому исходному коду и сообществу Linux, вносит важный вклад в развитие драйвера Vulkan с открытым исходным кодом NVK (NVIDIA Vulkan). На этот раз разработчик NVIDIA Артур Хьюиллет (Arthur Huillet) открыл запрос на слияние (merge request) под названием "nvk: implement conservative rasterization (all GPUs)", который реализует поддержку расширения VK_EXT_conservative_rasterization во всех графических процессорах NVIDIA, совместимых с Vulkan.

Консервативная растеризация - это техника рендеринга, которая гарантирует, что все пиксели, затронутые примитивом, будут раскрашены, даже если они находятся на границах примитива. Эта функция является частью требований для поддержки Direct3D Feature Level 12.1 в VKD3D-Proton, что позволит лучше запускать Windows-игры и приложения на Linux с использованием Vulkan.

Работа Артура Хьюиллета основана на предыдущих усилиях разработчика Бенджамина Ли (Benjamin Lee) (коммит !25668), который реализовал первоначальную версию консервативной растеризации. Однако, тот коммит содержал некоторые ошибки и был ограничен поддержкой только архитектур GPU, начиная с Volta. Артур Хьюиллет взял на себя задачу исправить ошибки и расширить поддержку консервативной растеризации на все графические процессоры NVIDIA.

Хотя, первоначальные результаты тестирования на GPU серии AD102 (архитектура Ampere) показали, что только 2,1% тестов, связанных с консервативной растеризацией, прошли успешно, а 97,9% не поддерживались, это было ожидаемо, учитывая, что функция находилась на ранней стадии внедрения.

После объединения исправлений Артура Хьюиллета и оригинального коммита Бенджамина Ли, а также тщательного тестирования, консервативная растеризация теперь полностью поддерживается во всех GPU NVIDIA, совместимых с Vulkan. Это позволит разработчикам игр и приложений, использующих Vulkan, использовать преимущества этой функции для улучшения визуального качества своих продуктов на всех совместимых GPU NVIDIA.

Вклад Артура Хьюиллета в реализацию консервативной растеризации является не единственным примером участия NVIDIA в развитии драйверов с открытым исходным кодом. Ранее уже был замечен другой разработчик NVIDIA, вносящий свой вклад в Nouveau - открытый драйвер для графических процессоров NVIDIA.

Эти события вселяют надежду на то, что NVIDIA станет более активно сотрудничать с сообществом открытого исходного кода, что в конечном итоге принесет пользу всем пользователям Linux. Если AMD, Intel и NVIDIA будут иметь хорошие драйверы с открытым исходным кодом для Linux, это может стать поворотным моментом для игр и приложений на этой платформе.

Наличие высокопроизводительных, стабильных и совместимых графических драйверов с открытым исходным кодом может значительно повысить привлекательность Linux для разработчиков и геймеров. Хотя путь к этой цели может быть долгим, каждый шаг, подобный вкладу Артура Хьюиллета, приближает нас к ней.

Сообщество Linux с нетерпением ждет дальнейших положительных изменений и вкладов от NVIDIA и других производителей аппаратного обеспечения. Эти усилия помогут создать более полную и совместимую экосистему для игр и приложений на платформе Linux, что в конечном итоге принесет пользу всем пользователям.

nvk: implement conservative rasterization (all GPUs): https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28937

nvk: implement VK_EXT_conservative_rasterization (коммит !25668): https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25668