LINUX.ORG.RU

Капитальная переделка GLSL компилятора для Mesa

 ,


0

0

Инженер Intel Ян Романик (Ian Romanick) работает над оптимизацией GLSL IR (промежуточное представление GLSL), а также над шейдерным ассемблером, чтобы написать новый компилятор GLSL, в то время как Михал Крол (Michal Krol) из VMware переписал препроцесор компилятора Mesa и улучшил поддержку GL Shading Language, подготовив почву для облегчения написания парсера в будущем.

После того, как Михал написал новый препроцесор, существующий парсер синтаксиса оказался узким местом всей архитектуры, и, хотя Ян уже собирался писать новый парсер, Михал решил не ждать и написать и его аналог. Новый Mesa GLSL компилятор и парсер аналогичны по функциональности «текущему», но они сделаны более просто и работают быстрее.

Измерения Михала показали, что после выполнения двух шагов по препроцессингу и парсингу сложного шейдера получилось 27-кратное преимущество над старыми наработками. Если же просто измерить скорость парсера, то получилось 122-кратное превосходство нового парсера над старым.

Сообщение в списке рассылки

Этот код будет помещён в ветку glsl-pp-rework-2 через неделю.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Re: Капитальная переделка GLSL компилятора для Mesa

>когда я слышу про ускорение чего-то в 122 раза, меня всегда гложет мысль, что старый код писали безрукие умственно отсталые инвалиды.

1. Сделай чтобы работало

2. сделай чтобы работало хорошо

3. сделай чтобы работало хорошо и быстро!

sniper21 ★★★★★ ()

Re: Капитальная переделка GLSL компилятора для Mesa

>>1. Сделай чтобы работало >>2. сделай чтобы работало хорошо >>3. сделай чтобы работало хорошо и быстро!

Или просто купи нвидию и займись сексом с девушкой

is977 ()

Капитальная переделка GLSL компилятора для Mesa

> Много ли Линуксовых игр его используют? Емнип, он ведь всего 2-3 года назад появился.

Для кроссплатформенности делают так. Пишут и отлаживают GLSL шейдер, а потом, чтобы работало на убогом железе, компилируют его с помощью cgc в asm и запускают по старинке с помощью glProgramStringARB

Reset ★★★★★ ()

Капитальная переделка GLSL компилятора для Mesa

Чёйто читал, читал, перечитывал тело новости....

Вобщем получается что-то типа:
"
Янь Юань спросил о человеколюбии. Учитель ответил:
— Победить себя и обратиться к ритуалу — это и есть человеколюбие. В тот день, когда человек победит себя и обратится к ритуалу, вся Поднебесная обратится к человеколюбию. Стать человеколюбивым зависит от тебя, а не от других!
Янь Юань сказал:
— Прошу раскрыть это поподробнее.
Учитель продолжил:
— На то, что чуждо ритуалу, не смотри.
То, что чуждо ритуалу, не слушай.
То, что чуждо ритуалу, не говори.
То, что чуждо ритуалу, не делай.
Янь Юань сказал:
— Хоть и не скор я на руку, пойду займусь на деле тем, что в слове прозвучало.
"

vada ★★★★★ ()

Капитальная переделка GLSL компилятора для Mesa

А есть ли вообще игры по линупс которым оно надо?

возможно будут! :) Хотя водичка страшновата в статике, и автор заюзал там GLSL ради fun'а )

Andru ★★★★ ()

Капитальная переделка GLSL компилятора для Mesa

>А есть ли вообще игры по линупс которым оно надо?

Есть) Прямо передо мной. Точнее можно переписать на glsl.

Вообще говоря, я слабо представляю как сейчас написать игру без использования выполняемого на gpu кода(hlsl/glsl/cg/asm).

wyldrodney ()

Капитальная переделка GLSL компилятора для Mesa

Новость выглядит прям как какойто детективный сериал :))))

Deleted ()

Капитальная переделка GLSL компилятора для Mesa

>работают быстрые

Я извиняюсь, а зачем переводить новость на китайский гуглом, а потом обратно?

Новость, безусловно, позитивная; видно, что работа ведется.

abraziv_whiskey ★★★★★ ()

Капитальная переделка GLSL компилятора для Mesa

В этот ужас можно играть в 2009?

это ж был стеб :) Хотя если затронуть тему гонок под Linux, то их пожалуй даже сложно вспомнить какие есть трехмерные, и с ужасом вспоминается графика TuxRacer 8)

Andru ★★★★ ()

Re: Капитальная переделка GLSL компилятора для Mesa

Можете пояснить что там должно выполняться то и главное зачем? Чтобы игра из 100 треугольников смогла запуститься только на видеокартах ценой > 10000 р ?

Как то без шейдеров рисовали раньше, и все было и быстро и красиво. И вообще то рисуют не шейдеры а художники.

Чеез года 3-4 про ваши омг директикс11 и GLSL никто и не вспомнит, на коне будут гибридные процессоры и всеобщий тупой рейтрейсинг.

Учите С, игроделы, и не ведитесь за сиюминутными модными распиареными фишками. Ну и на художниках не экономьте, вот их труд гораздо важнее.

anonymous ()

Капитальная переделка GLSL компилятора для Mesa

>Можете пояснить что там должно выполняться то и главное зачем?

Освещение.

>Чтобы игра из 100 треугольников смогла запуститься только на видеокартах ценой > 10000 р ?

У меня 240 тысяч полигонов, карточка за ~1700 рублей и приличный fps.

>Как то без шейдеров рисовали раньше, и все было и быстро и красиво. И вообще то рисуют не шейдеры а художники.

Нарисуй отражение на волнах. Железо позволяет считать это с помощью шейдеров. Зачем? Это добавляет реалистичности.

>Чеез года 3-4 про ваши омг директикс11 и GLSL никто и не вспомнит, на коне будут гибридные процессоры и всеобщий тупой рейтрейсинг.

А мне сейчас надо.

>Учите С, игроделы

Сперва напиши движок на Си, да выложи под свободной лицензией.

>Ну и на художниках не экономьте, вот их труд гораздо важнее.

Насчёт ценности спорить не стану - не хочу определять что такое "важнее" - нет смысла. Но насчёт их ценности я согласён.

И не сваливай вину за плохие сюжет и геймплей на шейдеры. Это просто средство улучшить картинку.

wyldrodney ()

Капитальная переделка GLSL компилятора для Mesa

>Чеез года 3-4 про ваши омг директикс11 и GLSL никто и не вспомнит, на коне будут гибридные процессоры и всеобщий тупой рейтрейсинг.

Зопишем у блокнот :)

frame ★★★ ()

Капитальная переделка GLSL компилятора для Mesa

>Зопишем у блокнот :)

Наш соотечественник написал движок, реализующий рэйтрэйсинг в реальном времени. Тянет это всё c2d или c2q... Вполне возможно мы увидим результаты через несколько лет прямо в магазинах... Я лишь за)

//Изврат с AO меня доканает!

wyldrodney ()

Капитальная переделка GLSL компилятора для Mesa

Реквестирую сцылку на игрушку

Она в стадии разработки, и разрабатывается не мной(хотя в основе лежит мой старый, кривой и убогий «движек»). Если же автор доведет это дело до конца, то я обязательно займусь портом под Linux, т.к. получается весьма забавно :)

Andru ★★★★ ()

Re: Капитальная переделка GLSL компилятора для Mesa

>> 1. Сделай чтобы работало 2. сделай чтобы работало хорошо 3. сделай чтобы работало хорошо и быстро!

людям код можно показывать только после последней стадии. а я так понимаю, что многие поколения уже жевали старый код, пока не пришли Ян и Михаил, и кто-то из них что-то там ускорил.

hawai ()

Re: Капитальная переделка GLSL компилятора для Mesa

>людям код можно показывать только после последней стадии.

показывать можно любой код. Смысл в движении по пунктам, а кто как и когда будет делать не важно!

sniper21 ★★★★★ ()

Re: Капитальная переделка GLSL компилятора для Mesa

> показывать можно любой код. Смысл в движении по пунктам, а кто как и когда будет делать не важно!

делать нужно так, что бы было не стыдно за то, что сделал. мне стыдно отдавать кому-то полуфабрикаты, а не программу.

hawai ()

Re: Капитальная переделка GLSL компилятора для Mesa

>AFAIU, графические движки компилируют(предварительно разбирают. ессно) шейдеры в машинный код самостоятельно

Нет, мой красноглазый друк, ты ошибаешся

anonymous ()

Капитальная переделка GLSL компилятора для Mesa

>> Как называется диагноз, когда присутствует неумение строить сложные предложения, не помню. Но это симптом при олигофрении, шизофрении частенько.

> Диагноз гораздо проще — это дословный перевод с английского.

Не, я про Шамана. Нормальный русскоязычный человек сразу же видит все нелепости. А Шаман -- нет. Мне кажется, что это дислексия.

ubuntulover ()

Капитальная переделка GLSL компилятора для Mesa

>>AFAIU, графические движки компилируют(предварительно разбирают. ессно) шейдеры в машинный код самостоятельно

>Нет, мой красноглазый друк, ты ошибаешся

Огр делает именно так. Что-то более веское, чем анонимное "нет", предъявишь?

wyldrodney ()

Капитальная переделка GLSL компилятора для Mesa

шейдеры в машинный код самостоятельно

почитай доки что ли, как скармливается видеокарте GLSL-шейдер посредством OpenGL, и имеет ли к компиляции какое-либо отношение движок...

Andru ★★★★ ()

Капитальная переделка GLSL компилятора для Mesa

> Хотя если затронуть тему гонок под Linux, то их пожалуй даже сложно вспомнить какие есть трехмерные, и с ужасом вспоминается графика TuxRacer 8)

Torcs :)

Aceler ★★★★★ ()

Капитальная переделка GLSL компилятора для Mesa

Вообще Intel молодцы в плане open source поддержки своих видеокарт, жалко только, что они интегрированные и очень слабенькие. Вот на кого надо AMD равняться, а не как сейчас - выпустят кастрированный код для древних видеокарт, а потом радеонный пипл на ЛОР'е с пеной у рта (не разобравшись тольком что к чему) кричит: "вот AMD круче NVidia, у них дрова открытые и соответственно поддержка лучше!!!1111"

cerberus ()

Капитальная переделка GLSL компилятора для Mesa

>>У АТИ девушка идет в комплекте ;)

Походу меня обманули в магазине. Некомплект подсунули. Приходится юзать стороннюю и уже не девушку.

По теме: Радует развитие. Ещё бы драйвера толковые, и исправить то, на что Кармак ругался.

prishel_potrollit ()

Капитальная переделка GLSL компилятора для Mesa

Nvidia просто не работает. Была у нас на одном серваке видяха NVidia. Без иксов работал. Видяха сгорела всего через 3 месяца после покупки. Теперь советуем на сервачки ставить ATI.

farafonoff ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.