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 ()
Ответ на: комментарий от is977

У mesa эталонная реализация opengl. т.е. считается что картинка отрендереная месой выглядит ровно так как должна, и относительно этого смотрят артефакты на nvidia и ati.

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

Шейдеры работают сейчас на абсолютно всех видеокартах какие можно купить. У меня radeonhd куплен год назад за 700 рублей, куда уж меньше.

Раньше создание графического движка было искусством, применялись какие-нибудь хитрые алгоритмы и приемы. А еще раньше графическую часть писали на ассемблере. Шейдеры позволяют сосредоточиться на художественной части игры.

Разберись в предмете. Особенность шейдеров в том что они применяются _параллельно_. Гибридные процессоры и рейтрейсинг ничего особо не изменят в современной модели вычислений.

С - омг. игры не пишут на С!!! для игр нужно ООП, игры это как раз тот случай где применение ООП уместно. Простите меня хаскелисты.

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

>кричит: "вот AMD круче NVidia, у них дрова открытые и соответственно поддержка лучше!!

хотите по другому? пожалуйста:

IMHO AMD круче NVidia и с закрытыми дровами! ;)

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

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

не знаю, у нас на серваках обычно впаяные в мать видюхи и это ..... конечно же АТi :)

ЗЫ: специально видюхи не подбирались, ибо серваку пофиг, но раз производители отдают предпочтение АТi, то это что то значит.

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

Там где повезло стоят встроенные. С некоторыми не повезло и пришлось ставить дискретные. Вероятность отказа у них все-таки больше чем у встроенных. А чипсеты у AMD шикарные, это факт.

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

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

т.е. вам надо виндовые игрушки пускать ?

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

Бугога. Идиотишко, сейчас не делают карты без поддержки шейдеров. Попробуй без них нарисовать, например, реалистичную воду ... Или найди в гугле doom3 запущенный без шейдеров на voodoo2 и прочувствуй разницу.

Сейчас на си игру писать это всё равно гланды через жопу выдирать. Впринципе можно, но очень дорого и неэффективно.

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

мусье я так понимаю не имеет никакого понятия что такое шейдеры, что такое классический OpenGL 1.0, как и для чего он сделан именно таким образом.

Реалистичную воду ты НИКОГДА и НИЧЕМ не нарисуешь. Хоть шейдерами, хоть не шейдерами. Возьми любой фотоаппарат круче мабилы, хоть за миллион рублей хоть за 3000, сфоткай настоящую воду и убедись.

2-3 проходного алгоритма с древнейшим GL_SPHERE_MAP достаточно за глаза.

Не путайте моду на то как делать конкретное железо (цена, площадь кристалла, легкость отладки, затраты на разработку и прочиее, вот СЕЙЧАС выгоднее делать с сотней недо-процессоров со своей убогой системой команд, до этого - почти жесткая логика, а через пару лет - адью, все будет универсальное) и сами алгоритмы генерации картинки.

>Сейчас на си игру писать это всё равно гланды через жопу выдирать. Впринципе можно, но очень дорого и неэффективнo

А так же глобально, надежно, широко, глубоко и неповерхностно, растекаясь по квинтэссенции торсионной вздрыжности. Да ты смотрю в теме, то то бугогакаешь.

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

>>плакалЪ, да.

Правильно, смешного тут ничего нет. Почему они до сих пор держат две ветки (проприетарные и open source) от нечего делать?. А насчёт отсутствия секса - попробуй запусить декодирование h264 + MKV через XvBA без бубна. Через VPDAU у меня с пол пинка заводится, тем более что nvidia на примере mplayer'а неплохой мануальчик с примером написала, чего не скажешь об AMD...

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

А какие еще пускать? Всю линуксовую игрушку я уже назапускался.

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

>Не путайте моду на то как делать конкретное железо (цена, площадь >кристалла, легкость отладки, затраты на разработку и прочиее, вот >СЕЙЧАС выгоднее делать с сотней недо-процессоров со своей убогой >системой команд, до этого - почти жесткая логика, а через пару лет - >адью, все будет универсальное) и сами алгоритмы генерации картинки.

Скоро центральный процессор превратится в сотню-другую процессоров с сокращенной системой команд. К этому все всегда и шло, x86 - ответвление на этом пути.

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

Правильно, смешного тут ничего нет.

ну ты вообще правильно говоришь. Настолько феерично писать как ты, это да, ничего смешного нет точно, тут только плакать надо, и умиляться твоими перлами о кастрированном коде :)

А насчёт отсутствия секса - попробуй запусить декодирование h264 + MKV через XvBA без бубна.

<tollmode> Я использую Wndows Vista SP2 и никаких проблем не наблюдаю. ЧЯДНТ? </trollmode>

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

вместо того чтобы бредить лучше дай ссылку на движок, использующий opengl 1.0 и дающий современную картинку с адекватным fps

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

>>Настолько феерично писать как ты, это да, ничего смешного нет точно, тут только плакать надо, и умиляться твоими перлами о кастрированном коде :)

ну дык докажи обратное, докажи, что open source драйвер имеет абсолютно все возможности (в т.ч. поддержку GPU) проприетарного под линукс или ты любишь надписи на заборах читать?

>><tollmode> Я использую Wndows Vista SP2 и никаких проблем не наблюдаю. ЧЯДНТ? </trollmode>

значит тебе сюда http://windows.org.ru/

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

Да и вроде сейчас у вендузятнегов гли'ста уже не в моде, щаз типа 7-ка рулит. Я не прав?

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

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

>имя сестра, имя :)

В смысле Ambient Occlusion - "сделай мне светло везде, где много открытого пространства", иначе тормозит... Много техник, и все через жопу работают. Надеюсь, я ещё не всё просмотрел.

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

>С - омг. игры не пишут на С!!! для игр нужно ООП, игры это как раз тот случай >где применение ООП уместно. Простите меня хаскелисты. А причем здесь твой ООП, здесь речь идет о рендере, это только чать двига(игры) , ну и зачем рендер на ООП...?

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

>значит тебе сюда http://windows.org.ru/

ну и кто говорит, что под виндосом секса с системой нет?

ЗЫ: сходил по ссылке...

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

>Много ли Линуксовых игр его используют?

GLSL? Savage 2/HoN :) UT3 использует HLSL

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

В твоей ситуации сарказм не уместен :)

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

>Или найди в гугле doom3 запущенный без шейдеров на voodoo2

Мне кажется, шейдеры здесь совсем не при чём

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

>вместо того чтобы бредить лучше дай ссылку на движок, использующий opengl 1.0 и дающий современную картинку с адекватным fps

PlayStation 3? Правда, там не совсем OpenGL 1.0, но не далеко ушедший.

А если откинуть его, то где вообще есть движок, использующий OpenGL и дающий современную картинку с адекватным FPS?

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

> PlayStation 3? Правда, там не совсем OpenGL 1.0, но не далеко ушедший.

Я не знаю какой там API, но шейдеры используются.

> А если откинуть его, то где вообще есть движок, использующий OpenGL и дающий современную картинку с адекватным FPS?

Движки 3го дума и риддика.

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

Да, про них я забыл :)

Увы, id Tech 4 уже стоит эдакой белой вороной и никто, кроме id Software, под него игры не делал (+одна игра от Human Head Studios). OpenGL для ПК-игр почти рип.

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

И вообще дело не в opengl, а в нужности шейдеров, в dx они тоже есть. Если бы их не было, то для получения современной картинки очень многие вещи пришлось бы делать на CPU со всеми вытекающими последствиями.

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

Тим Свини прозревает, что "очень многие вещи" можно делать на освободвшемся GPU

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

ну дык докажи обратное, докажи, что open source драйвер имеет абсолютно все возможности

Ты вообще адекват? Твой высер говорил об выкидывании кастрированного кода в OpenSource, вопрос в том - откуда ты это взял, и где пруфы, что драйвера Xorg-команды и radeonhd - используют огрызке? Метанации лужи, знаешь ли.

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

Твой высер говорил об выкидывании кастрированного кода в OpenSource

Пресс релиз от AMD, в аккурат перед открытием спеки:

http://www.amd.com/us-en/Corporate/VirtualPressRoom/0,,51_104_543~119372,00.html

...To accelerate this initiative, AMD partnered with Novell’s SuSE Linux engineering team. The initial release includes source code and hardware specifications to engage the Open Source community for collaboration on 2D graphics drivers...

__________________

[trollmode]Вобщем RTFM, перед тем как, с пеной у рта, вызывать бурление говен. Otherwise я пожалуюсь твоей учительнице (когда у вас там карантин заканчивается?) в незнании предмета, чтобы она тебя анально покарала[/trollmode]

cerberus
()

Прочитал как "капитальная перделка"...

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

>все равно NVidia горят частенько

Тяжело у Вас там :)

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

>Вот. Всё делается прекрасно без шейдеров. Блум, хдр, мех - всё в наличии.

Не увидел тяжёлой графики и высокого fps. А посчитать на процессоре любой дурак может.

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

на проце можно сделать всё что угодно, только какой fps будет в итоге

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