Page 13 of 17

Re: Оптимизация ядерной графики

Posted: Fri Sep 20, 2013 6:53 pm
by art_zh
Serge wrote:art_zh
В таком случае править ядро, убирать проверку пикселей и делать одно приложение, работающее с графикой в монопольном режиме.
Фигасе, а как же редактор, отладчик, файлменеджер - их что, в единый десктоп воткнуть?
Да тут крыша съедет только на одной замене параметров mcall во всех приложениях.

Не, тогда уж лучше сделать модальный режим - GUI только для одного рабочего окна (можно на весь экран, а можно и не на весь),
и чтоб ядо вообще в этом режиме не проверяло его таблицу,
а GUI-запросы других окон игнорировать до выхода из модального режима.

Ну и GFX-курсор само собой.

Re: Оптимизация ядерной графики

Posted: Fri Sep 20, 2013 7:55 pm
by Serge
art_zh
Фигасе, а как же редактор, отладчик, файлменеджер - их что, в единый десктоп воткнуть?
А тебе надо на рабочей системе одним глазом смотреть лопасть, а другим "Игру престолов" ? :D
Есть простое решение проблемы.
Делаешь рабочее приложение с окном на весь экран. Это приложение пишет в видеопамять напрямую в user mode через [LFB_BASE+адрес_пикселя]. И если пофиксить курсорный код, чтобы всегда дефолтный курсор выбирался, карта окон очень быстро будет вытеснена из кеша.
А для отладки обычное ядро.

Re: Оптимизация ядерной графики

Posted: Sun Sep 22, 2013 12:40 am
by art_zh
Serge wrote:А тебе надо на рабочей системе одним глазом смотреть лопасть, а другим "Игру престолов" ? :D
Я клепаю Колибри не ради высоких хакерских идеалов.
Но и не как товар для продажи.

Для меня это - набор инструментов разработки и наладки нового железа.
И среди эти инструментов должны быть редактор, отладчик, и набор утилит для просмотра MMIO, портов, конфигспейса, физ. памяти и т.п.

Да, эти окошки мне надо "одним глазом" видеть во время работы основной программы.

Re: Оптимизация ядерной графики

Posted: Sun Sep 22, 2013 12:54 am
by Mario_r4
art_zh wrote:Да, эти окошки мне надо "одним глазом" видеть во время работы основной программы.
Тебе нужно что то вроде:
http://ru.wikipedia.org/wiki/Awesome
http://ru.wikipedia.org/wiki/Xmonad
http://www.pvsm.ru/linux/13637
Spoiler:Image

Re: Оптимизация ядерной графики

Posted: Sun Sep 22, 2013 2:03 am
by Serge
art_zh
Я думал речь идёт о конечном решении - железо + ядро + рабочая программа.
Всё равно самая жрущая часть - вывод видео. Прямой доступ к видеопамяти открыт давно. Даже с обычным ядром будет неплохая экономия кеша. Главное, чтобы разрешение экрана позволяло разместить все окошки.

Re: Оптимизация ядерной графики

Posted: Tue Sep 24, 2013 10:45 pm
by art_zh
HW курсор запустился с пол-оборота.
Теперь морока - почистить мышиный код в ядре.

Re: Оптимизация ядерной графики

Posted: Tue Sep 24, 2013 11:39 pm
by Serge
art_zh
Это через драйвер, или прямо железо программировал ?

Re: Оптимизация ядерной графики

Posted: Wed Sep 25, 2013 12:16 am
by art_zh
Serge
Через драйвер некошерно. А напрямую - 40 строчек кода
Spoiler:
DSC_0020.jpg
DSC_0020.jpg (172.96 KiB)
Viewed 6562 times

Re: Оптимизация ядерной графики

Posted: Wed Sep 25, 2013 5:52 pm
by Serge
art_zh
Так не честно, у тебя локальной видеопамяти нет, и GART настраивать не надо.
Странно, во всех доках написано, что размер курсора 64х64.

Re: Оптимизация ядерной графики

Posted: Wed Sep 25, 2013 9:31 pm
by art_zh
Serge
Что значит "нечестно"?!
- Мне был нужен HW-курсор - он у меня есть
- Возможно, когда-нибудь понадобится режим A2R10G10B10 - я его уже пробовал, но под него надо много всего перепиливать (весь экран в жутковатых сиренево-зеленых тонах).

Блиттер пока не нужен. Но когда потребуется, настроить железо опять-таки будет проще напрямую, а не через монстра ATIKMS.

Реально требуемый размер курсора - 64 х Ysize.
Возможно, GPU взаправду грузит все 64х64, но нафига лишнюю память марать - все равно ведь хвост потом отвалится.
Первая строчка должна быть выровнена по 4К-границе, каждая следующая - по 256.

PS. Кстати, а что такое HW_ICON и какой в ней смысл?

Re: Оптимизация ядерной графики

Posted: Wed Sep 25, 2013 10:13 pm
by Serge
Что значит "нечестно"?
40 строчек нечестно. Должно быть два мегабайта с микрокодом и управление питанием и обязательно обработчики событий ACPI. А 40 строчек это читерство. :D

HW_ICON таки аппаратная иконка, чтобы её можно было таскать мышкой по рабочему столу в Windows . Фактически тот же курсор (маленький оверлей). Я думал в R600+ их выпилили. С её помощью можно сделать второй аппаратный курсор для второй мыши.

С курсором всё правильно, это я попутал. 64*64 ARGB как раз 4Кб, а размеры устанавливают область отсечения курсора. hot spot в этом тоже участвует каким-то хитрым образом у разных поколений. Проще всего с этим у интела. Кстати есть alpha blending курсора, только надо биты правильные установить в одном из регистров.

Re: Оптимизация ядерной графики

Posted: Wed Sep 25, 2013 10:20 pm
by Mario_r4
Serge wrote:
Что значит "нечестно"?
40 строчек нечестно. Должно быть два мегабайта с микрокодом и управление питанием и обязательно обработчики событий ACPI. А 40 строчек это читерство. :D
.
Spoiler:Строить собачью будку из железобетонных блоков вот это читерство, а вырубать зубилом маленькую нишу в скале совсем не читерство. И да это тоже типо шутка. :mrgreen:

Re: Оптимизация ядерной графики

Posted: Wed Sep 25, 2013 10:40 pm
by Serge
art_zh
Кстати ты контроллер памяти GPU не настраиваешь ? У него своё адресное пространство.

Re: Оптимизация ядерной графики

Posted: Wed Sep 25, 2013 10:59 pm
by art_zh
Serge
Нет, там все автоматически настраивает AtomBIOS при установке графического режима, он же возвращает в ядро адрес фреймбуфера.
Вообще, AMD в описании Fusion вер.14h убрала регистровую модель GPU (я эти адреса выдрал из твоего драйвера), а для новых SoC-систем (16-я версия) вовсе нет никакой графической инфы, даже по NDA.
С курсором всё правильно, это я попутал. 64*64 ARGB как раз 4Кб, а размеры устанавливают область отсечения курсора.
64*64*4 = таки 16К, надо маппить 3 лишних страницы.

Mario
имхо не ниша - палатка, прикрученная к склону скальными крючьями.

Re: Оптимизация ядерной графики

Posted: Thu Sep 26, 2013 8:35 am
by VaStaNi
art_zh wrote:а для новых SoC-систем (16-я версия) вовсе нет никакой графической инфы, даже по NDA.
Что они этим добьются? Сверхприбыли??? Тщеславие фирменной засекреченности?
Отсутствие инфы у конкурентов (каких???), которых "завтра" обгонят и перегонят...?
Н Е П О Н И М А Ю !
art_zh wrote:Marioимхо не ниша - палатка, прикрученная к склону скальными крючьями.
+1 :wink: экстрим, однако