На XDC 2020 (конференция разработчиков X.Org) было упомянуто о компиляторе шейдеров ACO и трассировке лучей Vulkan.
На XDC 2020 была встреча с Тимуром Кристоф, который в настоящее время сотрудничает с Valve. Кристоф рассказал об ACO (новом компиляторе шейдеров Mesa для AMD graphics). Идея ACO, которую анонсировал Valve еще в 2019 году, это дать более плавную игру в Linux с меньшим (или нет) подвисанием Vulkan (т.е. более быстрым временем компиляции шейдеров). Кристоф рассматривает множество сложных вещей, начиная с экспериментальных стадий и заканчивая стандартной версией Mesa, которая теперь поддерживает 5 разных поколений графических процессоров AMD.
Некоторые планы на будущее ACO:
- Поддержка OpenGL - много сделано и конец уже близко;
- Поддержка RDNA 2 - будущий графический процессор AMD, который уже находится в стадии разработки;
- Трассировка лучей тоже упоминалась, но пока нет доступа к документации;
- Mesh-шейдеры - в планах, но пока нет доступных расширений;
- Больше оптимизаций.
Джейсон Экстранд, который работает в Intel, сообщил о трассировке лучей в Vulkan.
Немного истории:
- 19 марта 2018 года - Microsoft анонсировала DirectX Ray-tracing (DXR);
- 19 сентября 2018 года - Vulkan 1.1.85 включил расширение VK_NVX_ray_tracing для использования в графических процессорах NVIDIA RTX. NVIDIA также выпустила драйвер 410.57 для Linux с трассировкой лучей. Многие люди думают, что трассировка лучей недоступна в Linux, но это не так;
- 17 марта 2020 года - компания Khronos выпустила предварительные кросс-вендорные расширения трассировки лучей. Ни один вендеров официально не использует их в своих стабильных драйверах, так как это не окончательное решение, и там могут быть изменения;
- Окончательный выпуск кросс-вендорных расширений трассировки лучей все еще находится в стадии разработки. Экстранд сказал, что ожидается "в ближайшее время", но точных дат нет.
Экстранд рассказал, что такое трассировка лучей на самом деле, а также преимущества и недостатки ее использования, а также детали фактического использования трассировки лучей с помощью API Vulkan. По словам Экстранда, API трассировки лучей - это в основном "совершенно новый API 3D-рендеринга, он очень мало пересекается со старым рендерингом, он действует как новая точка привязки конвейера и в основном является совершенно отдельной вещью, например как вычисление".
Надеюсь, мы увидим, как Хронос полностью выпустит трассировку лучей в Vulkan к концу года.
По материалам ссылка.