Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Dec 11, 2019 2:57 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 37 posts ]  Go to page 1 2 3 Next
Author Message
 Post subject: Cairo
PostPosted: Tue Mar 01, 2011 10:20 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Портировал Cairo. Теперь можно рисовать всякие интересные вещи. Исходники библиотек на svn. Позже добавлю работу с картинками и шрифты.


Attachments:
cairo.PNG
cairo.PNG [ 19.06 KiB | Viewed 5369 times ]
Top
   
 Post subject: Re: Cairo
PostPosted: Tue Mar 01, 2011 1:17 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
<3 !


Top
   
 Post subject: Re: Cairo
PostPosted: Tue Mar 01, 2011 11:07 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1248
Nice work Serge.

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

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
 Post subject: Re: Cairo
PostPosted: Wed Mar 02, 2011 12:15 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
hidnplayr
I will try to use cairo in Fplay. And Firefox using cairo for rendering all content. Who knows...


Top
   
 Post subject: Re: Cairo
PostPosted: Wed Mar 02, 2011 12:50 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Обновил библиотеку и добавил libpng и zlib. Новый сборник http://kolibri-pe.googlecode.com/files/dev-libs-02.03.2011.7z.

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


Last edited by Serge on Wed Mar 02, 2011 2:05 am, edited 1 time in total.

Top
   
 Post subject: Re: Cairo
PostPosted: Wed Mar 02, 2011 1:00 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Здорово!
*хотет заголовочных файлов и какой-нибудь example.c*


Top
   
 Post subject: Re: Cairo
PostPosted: Wed Mar 02, 2011 2:08 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Sorcerer

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


Top
   
 Post subject: Re: Cairo
PostPosted: Wed Mar 02, 2011 9:25 am 
Serge
А сколько будет весить плеер вместе со всеми дополнениями в конечном виде?


Top
   
 Post subject: Re: Cairo
PostPosted: Wed Mar 02, 2011 7:52 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario

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


Top
   
 Post subject: Re: Cairo
PostPosted: Fri Mar 04, 2011 11:20 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Залил демо с исходником Требует ядро svn1894+


Top
   
 Post subject: Re: Cairo
PostPosted: Fri Mar 04, 2011 12:45 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1358
s/w blitter ?


Top
   
 Post subject: Re: Cairo
PostPosted: Fri Mar 04, 2011 2:04 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
art_zh

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


Top
   
 Post subject: Re: Cairo
PostPosted: Fri Mar 04, 2011 2:26 pm 
Offline
Kernel Developer
User avatar

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

_________________
Сделаем мир лучше!


Top
   
 Post subject: Re: Cairo
PostPosted: Fri Mar 04, 2011 3:11 pm 
Offline
Kernel Developer
User avatar

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

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

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


Top
   
 Post subject: Re: Cairo
PostPosted: Fri Mar 04, 2011 3:59 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
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 работал быстрее. Эволюция.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 37 posts ]  Go to page 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited