2D с аппаратной акселерацией

Discussing libraries simplifying applications development
  • А хде сорцы?
  • Всё на 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 надо удалить.
  • В общем, нифига не понял и ушел спать )))
  • > Там нет чипов до R300
    Опять меня обижают.

    ..bw
  • Работа над ошибками + новая демка.

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

    Скопируйте ati2d.drv в папку /rd/1/drivers, pixlib.obj в папку /rd/1/lib
    demo3 и donut.dds должны находится в одной папке
    драйвер ati2d.obj удалять не надо.
    Attachments
    pixlib_02.7z (68.51 KiB)
    Downloaded 471 times
  • Все примеры работают - Radeon 9250 (RV280).
    Одна из приятнейших новостей за последнее время. Возможно ли теперь что-то сделать с вертикальной частотой развертки? На ЭЛТ мониторе работать с 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
  • Я думаю, что сейчас не стоит сильно заморачиваться 3D, так как не очень понятно как эту особенность в KOS можно эффективно использовать (не до полноценных 3D-аппаратно-ускоренных игр), хотя, это всё на суд разработчика. А лучше подтянуть nVidia, если есть возможность. (Эх, занялся блин, раздачей советов :-).
    На 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 должен подойти практически без изменений.
  • Посмотрел код ядра и не понял, как же выполняется загрузка драйвера ati2d.drv. Serge, можешь провести небольшой ликбез? Нашел только строку "/rd/1/drivers/ati2d.drv", но на неё никто не ссылается. Меня это заинтересова потому, что я заметил, драйвер выполнен как DLL, а такой формат мне нравится и подходит больше чем COFF (ведь изначально предполагалось писать дрова только в нем?), может присоеденюсь и то же, что-нибудь эдакое накалякаю.
    И еще я не нашел исходники библиотеки pixlib.obj, не подскажешь где они спрятались?

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

    ..bw
  • Who is online

    Users browsing this forum: No registered users and 6 guests