Pixlib
Установка:
Скопируйте ati2d.drv в папку /rd/1/drivers, pixlib.obj в папку /rd/1/lib
Возможности библиотеки:
Создание битмапов в системной или локальной памяти, рисование линий, сплошных и текстурированных прямоугольников с окантовкой, копирование битмапов (Blit), копирование с использованием цветового ключа (BlitTransparent). Подробное описание функций в файле readme.txt.
Для работы библиотеки необходим режим с 32-х битной глубиной цвета и процессор с ММХ. Аппаратная акселерация доступна на видеокартах ATI Radeon семейств R100 - R500. На других видеокартах все операции выполняются программно.
2D с аппаратной акселерацией
-
- Attachments
-
-
pixlib_01.7z (25.51 KiB)Downloaded 428 times
-
А хде сорцы?
Всё на svn. programs/system/drivers/ati2d programs/develop/pixlib programs/develop/sdk/trunk/pixlib
а ati2d.obj можно сносить?
Нет. Там курсор.
P.S.
По недоброй традиции в драйвере ati2d.drv неправильная таблица PCI_ID. Там нет чипов до R300 которые должны работать и есть чипы R600 которые работать не должны. Поэтому если видеокарта Radeon HD 2000+ драйвер ati2d.drv надо удалить.
P.S.
По недоброй традиции в драйвере ati2d.drv неправильная таблица PCI_ID. Там нет чипов до R300 которые должны работать и есть чипы R600 которые работать не должны. Поэтому если видеокарта Radeon HD 2000+ драйвер ati2d.drv надо удалить.
В общем, нифига не понял и ушел спать )))
> Там нет чипов до R300
Опять меня обижают.
..bw
Опять меня обижают.
..bw
Работа над ошибками + новая демка.
Теперь акселерация работает на всех Радеонах кроме HD.
Скопируйте ati2d.drv в папку /rd/1/drivers, pixlib.obj в папку /rd/1/lib
demo3 и donut.dds должны находится в одной папке
драйвер ati2d.obj удалять не надо.
Теперь акселерация работает на всех Радеонах кроме HD.
Скопируйте ati2d.drv в папку /rd/1/drivers, pixlib.obj в папку /rd/1/lib
demo3 и donut.dds должны находится в одной папке
драйвер ati2d.obj удалять не надо.
- Attachments
-
-
pixlib_02.7z (68.51 KiB)Downloaded 490 times
-
Все примеры работают - Radeon 9250 (RV280).
Одна из приятнейших новостей за последнее время. Возможно ли теперь что-то сделать с вертикальной частотой развертки? На ЭЛТ мониторе работать с 60 Hz невозможно. Или этот вопрос не касается той области с который ты сейчас работаешь?
И еще, на будущее. Вероятно предпологается использовать унифицированный интерфейс (pixlib), так что бы и при появлении дров для nVidia, перенос софта оказался безболезненным?
..bw
Одна из приятнейших новостей за последнее время. Возможно ли теперь что-то сделать с вертикальной частотой развертки? На ЭЛТ мониторе работать с 60 Hz невозможно. Или этот вопрос не касается той области с который ты сейчас работаешь?
И еще, на будущее. Вероятно предпологается использовать унифицированный интерфейс (pixlib), так что бы и при появлении дров для nVidia, перенос софта оказался безболезненным?
..bw
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
Ситуация с открытыми дровами для 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
Я думаю, что сейчас не стоит сильно заморачиваться 3D, так как не очень понятно как эту особенность в KOS можно эффективно использовать (не до полноценных 3D-аппаратно-ускоренных игр), хотя, это всё на суд разработчика. А лучше подтянуть nVidia, если есть возможность. (Эх, занялся блин, раздачей советов :-).
На QEmu с ati2d.drv демки не пошли, так и должно быть? Если ты говоришь что pixlib и без аппаратной поддержки может выполнять указанные функции, то не было бы логичней если библиотека работала и при наличии драйвера в системе?
..bw
На QEmu с ati2d.drv демки не пошли, так и должно быть? Если ты говоришь что pixlib и без аппаратной поддержки может выполнять указанные функции, то не было бы логичней если библиотека работала и при наличии драйвера в системе?
..bw
А что там с NVidia?
Если драйвер этот еще никто не пишет, могу я взяться.Pavia wrote:А что там с NVidia?
pixlib не работает в Qemu потому что там нет 32-х битного цвета, а это пока обязательное условие. Второе условие процессор с ММХ.
shurf
Никто не пишет. Если возьмешся будет здорово.
Linux исходники здесь git://anongit.freedesktop.org/git/xorg/driver/xf86-video-nv
git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau
git://anongit.freedesktop.org/git/nouveau/xf86-video-ati
git://anongit.freedesktop.org/git/nouveau/xf86-video-radeonhd
Я брал за основу последний драйвер. 2D акселерация в файлах *xaa и *exa.
Код работы с битмапами из ati2d/pixmap.inc должен подойти практически без изменений.
shurf
Никто не пишет. Если возьмешся будет здорово.
Linux исходники здесь git://anongit.freedesktop.org/git/xorg/driver/xf86-video-nv
git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau
git://anongit.freedesktop.org/git/nouveau/xf86-video-ati
git://anongit.freedesktop.org/git/nouveau/xf86-video-radeonhd
Я брал за основу последний драйвер. 2D акселерация в файлах *xaa и *exa.
Код работы с битмапами из ati2d/pixmap.inc должен подойти практически без изменений.
Посмотрел код ядра и не понял, как же выполняется загрузка драйвера ati2d.drv. Serge, можешь провести небольшой ликбез? Нашел только строку "/rd/1/drivers/ati2d.drv", но на неё никто не ссылается. Меня это заинтересова потому, что я заметил, драйвер выполнен как DLL, а такой формат мне нравится и подходит больше чем COFF (ведь изначально предполагалось писать дрова только в нем?), может присоеденюсь и то же, что-нибудь эдакое накалякаю.
И еще я не нашел исходники библиотеки pixlib.obj, не подскажешь где они спрятались?
p.s. "programs/develop/pixlib" отсутствует.
..bw
И еще я не нашел исходники библиотеки pixlib.obj, не подскажешь где они спрятались?
p.s. "programs/develop/pixlib" отсутствует.
..bw
Who is online
Users browsing this forum: Bing [Bot] and 2 guests