Page 2 of 4
Re: 2D с аппаратной акселерацией
Posted: Mon Oct 20, 2008 7:23 pm
by Serge
Была путаница с SVN.
svn://kolibrios.org/programs/develop/libraries/pixlib исходники pixlib
компилируется mingw32
gcc -c -mmmx -O2 -fno-builtin -fomit-frame-pointer -o pixlib.obj pixlib.c
svn://kolibrios.org/programs/develop/sdk/trunk/pixlib примеры и заголовочный файл.
Драйвер грузит библиотека при инициализации.
Code: Select all
srv_hw2d = get_service("HDRAW");
if(srv_hw2d == 0)
srv_hw2d = load_service("/rd/1/drivers/ati2d.drv");
get_service не умеет грузить PE DLL и при первом запуске вернёт 0. Тогда либа загрузит драйвер сама.
Code: Select all
extern inline u32_t load_service(char *name)
{
u32_t retval;
asm("int $0x40"
:"=a"(retval)
:"a"(68),"b"(21),"c"(name)); //функция для загрузки PE драйверов
return retval;
};
Все драйверы резидентные. При втором запуске get_service вернёт логический номер драйвера. Если драйвера нет или устройство не поддерживается srv_hw2d = 0 и всё рисуется программно.
Re: 2D с аппаратной акселерацией
Posted: Mon Oct 20, 2008 7:59 pm
by bw
Мммм. Здорово. Получается теперь ядру не нужно знать про дрова заранее, а они могут подгружаться по ходу дела. А что, если бы дрова брались всегда из одной и той же папки (или из некоторого предопределенного набора), а в "load_service" передавалось бы только имя драйвера? Так было бы несколько безопаснее. Точнее это стало бы некоторым заделом безопасности, а в будущем просто ограничим доступ пользователей к директории "drivers".
Спасибо. Попробую чего-нибудь такого пописать :-). Может bt8x8 займусь, было бы забавно ТВ на KolibriOS посмотреть.
p.s. Я не нашел в документации описание этой функции (68.21).
..bw
Re: 2D с аппаратной акселерацией
Posted: Mon Oct 20, 2008 8:08 pm
by Serge
bw
Одну папку для дров можно. Только есть такие дрова что на дискету не влезут...
Re: 2D с аппаратной акселерацией
Posted: Mon Oct 20, 2008 9:39 pm
by shurf
Serge wrote:Никто не пишет. Если возьмешся будет здорово.
Спасибо за информацию. Работаю.
Re: 2D с аппаратной акселерацией
Posted: Tue Nov 11, 2008 5:35 pm
by Serge
Прозрачное окошко. Для полноценных перекрывающихся окон такой способ
подходит плохо но для модальных окон или меню годится.
На R300-R500 работает точно. На R200+ должен работать. На R100+ пока нет.
Re: 2D с аппаратной акселерацией
Posted: Thu Nov 13, 2008 4:03 am
by Leency
Работает на NVidea 8800 GTS 512, медленно правда. Было бы быстрее, если бы не выводилось вначале окно, а потом делалось прозрачным, а сразу б выводилось прозрачным. Но всё это, я думаю, поправимо
Вообще, классно
Не передать как я удивился и порадовался когда увидел нормальное прозрачное окошко в Колибри)
Re: 2D с аппаратной акселерацией
Posted: Thu Nov 13, 2008 10:40 am
by Serge
На NV всё работает в режиме эмуляции, через процессор. Поэтому медленно.
Кто-нибудь проверял на R200 ? У меня такой возможности нет.
Re: 2D с аппаратной акселерацией
Posted: Mon Dec 01, 2008 8:32 pm
by Gluk
я правильно понимаю что у меня работать не должно? (конфигурация в профиле) А то проверил, и правда не работает =)
Re: 2D с аппаратной акселерацией
Posted: Mon Dec 01, 2008 9:23 pm
by Serge
Gluk
Должно работать. У меня х1600.
Если чип определился будет иформация на доске отладки и в логе.
Re: 2D с аппаратной акселерацией
Posted: Mon Dec 01, 2008 11:20 pm
by Gluk
вообще-то, после запуска эктан стал серым.. сплошная заливка такая.. потом я обновил pixlib, на ту что в архиве, и экран перестал после запуска примера заливаться серым.. вместо этого он стал заливаться вертикальными черными и белыми полосками шириной в 5-10 пикселей (визуально) каждая.. так что доску отладки было видно мягко говоря не очень хорошо.. а лог не смог сохранить ввиду сложности работы с файловыми менеджерами и rdsave вслепую..
Re: 2D с аппаратной акселерацией
Posted: Tue Dec 02, 2008 8:23 pm
by Serge
Gluk
Интересно. У тебя есть раздел hd куда можно писать ?
Re: 2D с аппаратной акселерацией
Posted: Wed Dec 03, 2008 1:52 am
by Gluk
есть bd
Re: 2D с аппаратной акселерацией
Posted: Wed Dec 03, 2008 10:34 am
by Serge
Gluk
А куда именно ? Сделаю специальную версию драйвера.
Re: 2D с аппаратной акселерацией
Posted: Wed Jul 15, 2009 12:46 pm
by andrew_programmer
Решил проверить библиотеку Pixlib в действии.
Взял самую последнюю версию с SVN. Скомпилировал как описано выше. Также взял самую последнюю версию ядра и драйверов. Всё установил куда нужно. При запуске демок на доске отладки пишет:
-
pixlib_bug.PNG (4.24 KiB)
Viewed 7423 times
У меня видеокарта ATI Radeon Xpress 200M. Аппаратный курсор работает.
Re: 2D с аппаратной акселерацией
Posted: Wed Jul 15, 2009 4:13 pm
by Serge
andrew_programmer
Ничего страшного.
Компиляторы ЯВУ пишут в объектники дополнительную информацию. Fasm этого не делает, а загрузчик писался в расчёте на fasm. Главное чтобы демки работали.
P.S. Скоро будет новый драйвер для смены видеорежимов (kms - kernel modesetting), курсоров и 2D и хорошие шансы на портирование mesa с акселерацией на Радеонах.