Board.KolibriOS.org
http://board.kolibrios.org/

Cairo
http://board.kolibrios.org/viewtopic.php?f=24&t=1674
Page 1 of 3

Author:  Serge [ Tue Mar 01, 2011 10:20 am ]
Post subject:  Cairo

Портировал Cairo. Теперь можно рисовать всякие интересные вещи. Исходники библиотек на svn. Позже добавлю работу с картинками и шрифты.

Attachments:
cairo.PNG
cairo.PNG [ 19.06 KiB | Viewed 7566 times ]

Author:  SoUrcerer [ Tue Mar 01, 2011 1:17 pm ]
Post subject:  Re: Cairo

<3 !

Author:  hidnplayr [ Tue Mar 01, 2011 11:07 pm ]
Post subject:  Re: Cairo

Nice work Serge.

It makes me wonder, is there a specific reason you are porting all those C libraries? :)

Author:  Serge [ Wed Mar 02, 2011 12:15 am ]
Post subject:  Re: Cairo

hidnplayr
I will try to use cairo in Fplay. And Firefox using cairo for rendering all content. Who knows...

Author:  Serge [ Wed Mar 02, 2011 12:50 am ]
Post subject:  Re: Cairo

Обновил библиотеку и добавил libpng и zlib. Новый сборник http://kolibri-pe.googlecode.com/files/dev-libs-02.03.2011.7z.

Update.
Добавил несколько функций в newlibc и перезалил сборник.

Author:  SoUrcerer [ Wed Mar 02, 2011 1:00 am ]
Post subject:  Re: Cairo

Здорово!
*хотет заголовочных файлов и какой-нибудь example.c*

Author:  Serge [ Wed Mar 02, 2011 2:08 am ]
Post subject:  Re: Cairo

Sorcerer

Все исходники на svn. Смотри svn://kolibrios.org/programs/develop/libraries. Пример выложу завтра.

Author:  Mario [ Wed Mar 02, 2011 9:25 am ]
Post subject:  Re: Cairo

Serge
А сколько будет весить плеер вместе со всеми дополнениями в конечном виде?

Author:  Serge [ Wed Mar 02, 2011 7:52 pm ]
Post subject:  Re: Cairo

Mario

+1 Mб, может больше. Разработчики ffmpeg тоже не стоят на месте. Конечный результат сильно зависит от опций компиляции и сборки.

Author:  Serge [ Fri Mar 04, 2011 11:20 am ]
Post subject:  Re: Cairo

Залил демо с исходником Требует ядро svn1894+

Author:  art_zh [ Fri Mar 04, 2011 12:45 pm ]
Post subject:  Re: Cairo

s/w blitter ?

Author:  Serge [ Fri Mar 04, 2011 2:04 pm ]
Post subject:  Re: Cairo

art_zh

Блиттер в ядре. Я специально сделал новую функцию -73.
65-я с багами и меньше возможностей.

Author:  CleverMouse [ Fri Mar 04, 2011 2:26 pm ]
Post subject:  Re: Cairo

"Любой русский программист после пары минут чтения кода обязательно вскочит и произнесет, обращаясь к себе: переписать это все нафиг." (c)
Предполагается, что уродливый код от gcc с неработающим -mpush-args лучше 65-й функции и багов не содержит?

Author:  art_zh [ Fri Mar 04, 2011 3:11 pm ]
Post subject:  Re: Cairo

Serge
я третий месяц долблюсь над переделкой 65-й - сейчас графика (video/graph32) работает очень быстро и гладко для режимов картинок 32bpp, 24bpp,8bpp,1bpp и "0bpp" (одноцветная заливка прямоугольника), остальные режимы можно безболезненно добавить по ходу дела.

Только код получился нереентерабельный (статические переменные [img_*] затираются при переключении задач) - фиксю через стек.

Может, не стоит умножать сущности? Так или иначе, все равно когда-то надо будет сократить гранулярность экранной карты - она реально ломает весь кэш.

Author:  Serge [ Fri Mar 04, 2011 3:59 pm ]
Post subject:  Re: Cairo

CleverMouse

Не все процессоры умеют быстро вычислять адреса операндов для последовательныx push push push push push.

65 не работает. Я пытался её использовать, не вышло. И её текущая реализация не соответствует описанию. Например stride (ebp) для 32 и 24 bpp посылается нафиг, что совершенно неприемлемо.

art_zh

Когда новая сияющая ф.65 появится на транке я с радостью буду её использовать, если
1. Она будет учитывать задаваемую ширину строки в байтах, а не вычислять её по-своему разумению.
2. Поддерживать отрицательные координаты точки для левого верхнего угла назначения.
3. Поддерживать отрицательные координаты точки для левого верхнего угла источника.
4. Всегда получать базовый адрес источника, а не модифицированный для вывода части источника со смещением x,y. В этом случае драйвер сможет однозначно опознать текстуру источника и не загонять eё лишний раз в gart или видеопамять. GPU предъявляет жёсткие требования к выравниванию данных - 32\64 байта. Будет ещё больше. Выравнивание на 4 не пойдёт.

ф.65 не позволяет всё это сделать.

P.S.
diamond сделал ф.65 чтобы KFar работал быстрее. Эволюция.

Page 1 of 3 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/