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 ()

Ответ на: комментарий от sniper21

ах ну да, и пошёл учить русский язык же =)

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от hawai

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

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

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

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

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от sniper21

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

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

is977
()
Ответ на: комментарий от is977

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

Извращенец!

Ghj
()
Ответ на: комментарий от wyldrodney

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

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

Reset ★★★★★
()

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

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

vada ★★★★★
()
Ответ на: комментарий от is977

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

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

Andru ★★★★
()
Ответ на: комментарий от is977

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

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

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

wyldrodney
()

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

Deleted
()
Ответ на: комментарий от Andru

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

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

is977
()
Ответ на: комментарий от is977

>А скрины посмотреть можно?

Можно. Но только через пару недель(лестер, молчать) - может раньше, но до конца месяца выложим дэмо.

wyldrodney
()

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

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

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

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от is977

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

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

Andru ★★★★
()
Ответ на: комментарий от wyldrodney

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

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

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

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

anonymous
()
Ответ на: комментарий от ctrelok13

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

=)

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

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

Освещение.

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

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

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

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

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

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

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

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

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

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

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

wyldrodney
()
Ответ на: комментарий от anonymous

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

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

frame ★★★
()
Ответ на: комментарий от frame

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

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

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

wyldrodney
()
Ответ на: комментарий от smolnij

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

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

Andru ★★★★
()
Ответ на: комментарий от sniper21

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

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

hawai
()
Ответ на: комментарий от hawai

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

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

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от sniper21

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

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

hawai
()
Ответ на: комментарий от wyldrodney

>Зачем? Это добавляет реалистичности.

зачем нам реалистичность в играх? Зачем нам вторая реальность?

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от sniper21

>зачем нам реалистичность в играх? Зачем нам вторая реальность?

Секрет :)

wyldrodney
()
Ответ на: комментарий от wyldrodney

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

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

anonymous
()
Ответ на: комментарий от Aceler

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

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

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

ubuntulover
()
Ответ на: комментарий от anonymous

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

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

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

wyldrodney
()
Ответ на: комментарий от wyldrodney

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

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

Andru ★★★★
()
Ответ на: комментарий от svu

> Да, на фразе "огромное узкое место" мой парсер окончательно вынесло в BSOD

Ну вот, вроде бы линуксоид, а в голове - винда

frost_ii ★★★★★
()
Ответ на: комментарий от Andru

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

Torcs :)

Aceler ★★★★★
()

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

cerberus
()
Ответ на: комментарий от is977

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

Купил девушку, трахаюсь с нвидией. Хм, где-то я накосячил с алгоритмом...

anonymous
()
Ответ на: комментарий от cerberus

Вообще AMD выпустила спеки для новых карт, что достаточно для написания дров.

ваш К.О.

frost_ii ★★★★★
()
Ответ на: комментарий от ctrelok13

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

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

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

prishel_potrollit
()
Ответ на: комментарий от is977

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

farafonoff ★★
()
Ответ на: комментарий от is977

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

купи нвидию O_o - а без этого не встанет?

anonymous
()
Ответ на: комментарий от Sith

О почти любых. Оно требуется для эмуляции directX 8 на сколько я понимаю. например Half Life Source требует поддержки этих шейдеров.

farafonoff ★★
()
Ответ на: комментарий от sniper21

Зачем нам вторая реальность?

эдак можно договориться и до вопроса: «зачем нам первая реальность?»

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