Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Feb 17, 2020 4:23 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 58 posts ]  Go to page 1 2 3 4 Next
Author Message
PostPosted: Sat Oct 18, 2008 12:15 pm 
Offline
Kernel Developer

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

Установка:
Скопируйте ati2d.drv в папку /rd/1/drivers, pixlib.obj в папку /rd/1/lib

Возможности библиотеки:

Создание битмапов в системной или локальной памяти, рисование линий, сплошных и текстурированных прямоугольников с окантовкой, копирование битмапов (Blit), копирование с использованием цветового ключа (BlitTransparent). Подробное описание функций в файле readme.txt.

Для работы библиотеки необходим режим с 32-х битной глубиной цвета и процессор с ММХ. Аппаратная акселерация доступна на видеокартах ATI Radeon семейств R100 - R500. На других видеокартах все операции выполняются программно.


Attachments:
pixlib_01.7z [25.51 KiB]
Downloaded 251 times
Top
   
PostPosted: Sat Oct 18, 2008 5:07 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
А хде сорцы?


Top
   
PostPosted: Sat Oct 18, 2008 6:19 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Всё на svn. programs/system/drivers/ati2d programs/develop/pixlib programs/develop/sdk/trunk/pixlib


Top
   
PostPosted: Sat Oct 18, 2008 11:56 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
а ati2d.obj можно сносить?


Top
   
PostPosted: Sun Oct 19, 2008 2:28 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Нет. Там курсор.

P.S.

По недоброй традиции в драйвере ati2d.drv неправильная таблица PCI_ID. Там нет чипов до R300 которые должны работать и есть чипы R600 которые работать не должны. Поэтому если видеокарта Radeon HD 2000+ драйвер ati2d.drv надо удалить.


Top
   
PostPosted: Sun Oct 19, 2008 5:03 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
В общем, нифига не понял и ушел спать )))


Top
   
PostPosted: Sun Oct 19, 2008 8:32 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
> Там нет чипов до R300
Опять меня обижают.

..bw


Top
   
PostPosted: Sun Oct 19, 2008 6:54 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Работа над ошибками + новая демка.

Теперь акселерация работает на всех Радеонах кроме HD.

Скопируйте ati2d.drv в папку /rd/1/drivers, pixlib.obj в папку /rd/1/lib
demo3 и donut.dds должны находится в одной папке
драйвер ati2d.obj удалять не надо.


Attachments:
pixlib_02.7z [68.51 KiB]
Downloaded 283 times
Top
   
PostPosted: Sun Oct 19, 2008 7:40 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Все примеры работают - Radeon 9250 (RV280).
Одна из приятнейших новостей за последнее время. Возможно ли теперь что-то сделать с вертикальной частотой развертки? На ЭЛТ мониторе работать с 60 Hz невозможно. Или этот вопрос не касается той области с который ты сейчас работаешь?
И еще, на будущее. Вероятно предпологается использовать унифицированный интерфейс (pixlib), так что бы и при появлении дров для nVidia, перенос софта оказался безболезненным?

..bw


Top
   
PostPosted: Sun Oct 19, 2008 9:43 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
1)Вероятно я займусь этим.
Ситуация с открытыми дровами для Linux довольно абсурдна. Есть группа разработчиков из Red Hat которая очень давно ведёт драйвер xf86-video-ati и совместная группа Novell-AMD примерно год делает xf86-video-radeonhd. Группы довольно сильно сказано потому что в сумме там 5-6 человек. Оба драйвера функционально одинаковы за исключением того что новый драйвер работает только на чипах R500+. Было обещание что оба драйвера сведут в один (новый), поэтому я выбрал его за основу. Но в итоге всё застопорилось из-за нехватки разработчиков и большого объёма работы над 2D/3D в R600-R700. Они ещё и CrossFire обещали. Видимо будет лет через ...дцать.

2) Да. Все функции рисования по сути кальки с GDI, а акселерация GDI есть у всех видеокарт.
Библиотека достаточно быстра и без акселерации, даже в эмуляторах (кроме Qemu - там 24-х битный цвет). Хотя сейчас она больше подходит для полноэкранных демок и "плоских" (скроллерных) игр. Кстати акселерация работает только на битмапах в видеопамяти.

Проверить работу акселератора очень просто. Надо загрузит систему. Удалить ati2d.drv из папки drivers и запустить demo1. Потом вернуть драйвер и снова запустить demo1. Скорость отрисовки должна быть в разы выше. Дополнительную информацию драйвер выводит на доску отладки и в файл /drivers/ati2d.log


Top
   
PostPosted: Sun Oct 19, 2008 10:26 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Я думаю, что сейчас не стоит сильно заморачиваться 3D, так как не очень понятно как эту особенность в KOS можно эффективно использовать (не до полноценных 3D-аппаратно-ускоренных игр), хотя, это всё на суд разработчика. А лучше подтянуть nVidia, если есть возможность. (Эх, занялся блин, раздачей советов :-).
На QEmu с ati2d.drv демки не пошли, так и должно быть? Если ты говоришь что pixlib и без аппаратной поддержки может выполнять указанные функции, то не было бы логичней если библиотека работала и при наличии драйвера в системе?

..bw


Top
   
PostPosted: Sun Oct 19, 2008 11:20 pm 
Offline

Joined: Sun Mar 11, 2007 4:05 pm
Posts: 64
А что там с NVidia?

_________________
http://wiki.osdev.ru/


Top
   
PostPosted: Sun Oct 19, 2008 11:38 pm 
Offline
User avatar

Joined: Mon Nov 05, 2007 12:09 am
Posts: 32
Pavia wrote:
А что там с NVidia?

Если драйвер этот еще никто не пишет, могу я взяться.


Top
   
PostPosted: Mon Oct 20, 2008 12:22 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
pixlib не работает в Qemu потому что там нет 32-х битного цвета, а это пока обязательное условие. Второе условие процессор с ММХ.

shurf

Никто не пишет. Если возьмешся будет здорово.
Linux исходники здесь git://anongit.freedesktop.org/git/xorg/ ... 6-video-nv
git://anongit.freedesktop.org/git/nouve ... eo-nouveau
git://anongit.freedesktop.org/git/nouve ... -video-ati
git://anongit.freedesktop.org/git/nouve ... o-radeonhd

Я брал за основу последний драйвер. 2D акселерация в файлах *xaa и *exa.
Код работы с битмапами из ati2d/pixmap.inc должен подойти практически без изменений.


Top
   
PostPosted: Mon Oct 20, 2008 4:59 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Посмотрел код ядра и не понял, как же выполняется загрузка драйвера ati2d.drv. Serge, можешь провести небольшой ликбез? Нашел только строку "/rd/1/drivers/ati2d.drv", но на неё никто не ссылается. Меня это заинтересова потому, что я заметил, драйвер выполнен как DLL, а такой формат мне нравится и подходит больше чем COFF (ведь изначально предполагалось писать дрова только в нем?), может присоеденюсь и то же, что-нибудь эдакое накалякаю.
И еще я не нашел исходники библиотеки pixlib.obj, не подскажешь где они спрятались?

p.s. "programs/develop/pixlib" отсутствует.

..bw


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

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 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