Драйвер Vulkan с открытым исходным кодом ANV от Intel увеличил размер кучи инструкций до 2 Гб, чтобы решить проблему с зависанием в игре Overwatch, и это также может помочь другим программам/играм в будущем.
Запрос на слияние, поданный инженером графического драйвера Intel Linux Лайонелом Ландверлином, объясняет:
«Overwatch генерирует более 1 Гб шейдеров, и при попытке использовать их мы оказываемся за пределами кучи инструкций. ЕС не может получить инструкцию и, вероятно, выполняет бесконечные noops, что приводит к зависанию».
Таким образом, решением в Mesa 23.2 является увеличение размера кучи инструкций до 2 Гб.
Это слияние также добавило новую опцию отладки «heaps» для дампа информации о кучах драйвера. Несколько сотен строк кода попали в Mesa Git.
Приятно видеть, что драйверы Intel Mesa продолжают совершенствоваться для работы с современными играми на Linux через Steam Play от Valve. Теперь, если бы была поддержка редких резидентов, которая необходима для работы различных новых игр с VKD3D-Proton (Direct3D 12 на Vulkan). По последним данным, существует ветка work-in-progress, в которой необходимые биты ядра реализованы только для экспериментального драйвера Intel Xe DRM с оборудованием DG2/Alchemist, и еще не все необходимые функции DX12 реализованы.