Инженер Intel Ян Романик (Ian Romanick) работает над оптимизацией GLSL IR (промежуточное представление GLSL), а также над шейдерным ассемблером, чтобы написать новый компилятор GLSL, в то время как Михал Крол (Michal Krol) из VMware переписал препроцесор компилятора Mesa и улучшил поддержку GL Shading Language, подготовив почву для облегчения написания парсера в будущем.
После того, как Михал написал новый препроцесор, существующий парсер синтаксиса оказался узким местом всей архитектуры, и, хотя Ян уже собирался писать новый парсер, Михал решил не ждать и написать и его аналог. Новый Mesa GLSL компилятор и парсер аналогичны по функциональности «текущему», но они сделаны более просто и работают быстрее.
Измерения Михала показали, что после выполнения двух шагов по препроцессингу и парсингу сложного шейдера получилось 27-кратное преимущество над старыми наработками. Если же просто измерить скорость парсера, то получилось 122-кратное превосходство нового парсера над старым.
Этот код будет помещён в ветку glsl-pp-rework-2 через неделю.
>>> Подробности