Page 20 of 41

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 11:55 am
by andrew_programmer
Serge
1.Если без прямого доступа к видеопамяти не обойтись и очень хочется избежать артефактов на экране, то нужна синхронизация.
Обойтись можно, только потребуется дополнительная память под буферы. Получается, что в общем нужно памяти размером с 2 экрана. На компьютерах, где мало памяти - это значимо. Тогда уже не запустить Kolibri на компьютере с 8Mb RAM при 24/32 битном цвете. К тому же в случае VESA драйвера скорость копирования битмапа упадёт в 2 раза(первый раз копируется в экранный буфер, второй раз непосредственно на экран).
2. Никаких аппаратных примитивов, только блиттер. Конвертация YUV->RGB (тоже блиттер).
А можно копировать битмап с прозрачностью и как это выглядит(в смысле операций с памятью)? Просто мне нужен некоторый универсальный интерфейс для работы с любым драйвером(как с аппаратным, так и нет), поэтому пытаюсь понять, что и как умеют делать современный видео карты.

SII
Тут речь идёт о взаимодействия драйвера с оконной подсистемой. Просто двойной буферизацией тут не обойдёшься(скорость упадёт и памяти много израсходует).

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 12:14 pm
by SII
andrew_programmer wrote:Тут речь идёт о взаимодействия драйвера с оконной подсистемой. Просто двойной буферизацией тут не обойдёшься(скорость упадёт и памяти много израсходует).
Гм... А с чего бы это скорости падать? Да и расход -- только видеопамяти, а не ОЗУ. Оба буфера находятся в видеопамяти, переключение поэтому можно считать мгновенным, поскольку ничего копировать не приходится, надо лишь дать команду отображать информацию из другого буфера.

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 12:22 pm
by andrew_programmer
Процетирую самого себя.
нужен некоторый универсальный интерфейс для работы с любым драйвером(как с аппаратным, так и нет)
К тому же в случае VESA драйвера скорость копирования битмапа упадёт в 2 раза(первый раз копируется в экранный буфер, второй раз непосредственно на экран).

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 1:05 pm
by Serge
Прозрачность поддерживают все карты. Это colorkey, альфа-канал или битовая карта прозрачности (как и в Колибри определяет форму окна). В pixlib были функции для работы с прозрачностью TransparentBlit и BlitAlpha.

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 1:23 pm
by art_zh
SII wrote: Гм... А с чего бы это скорости падать? Да и расход -- только видеопамяти, а не ОЗУ. Оба буфера находятся в видеопамяти, переключение поэтому можно считать мгновенным, поскольку ничего копировать не приходится, надо лишь дать команду отображать информацию из другого буфера.
Системные фреймбуферы должны находиться в системной памяти, иначе скорость обмена (особенно чтения) упадет в десятки раз.

Serge
,
а что, у этих крутых радеонов кроме тайлов и курсора вообще нет никакой 2D-акселерации?
Всем нужны аппаратный скроллинг, встроенные шрифты, рисование полиномов...
Это ведь по сути примитивненькие операции, не рендеринг какой-нибудь и не 3D-поворот.

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 2:56 pm
by Serge
art_zh

Нет 2D WinGDI акселерации. Её полностью выпилили начиная с R600. В NV G80 акселератор остался но в Fermi вряд ли.
Аппаратный скроллинг - это блиттер. Шрифтов не было и раньше. То есть команд "загрузить шрифт", вывести букву "ф" в позиции "x,y" цветом "color". Были специальные команды для рисования глифов, эллипсов, полигонов горизонтальными отрезками. Не забываем о ClearType(tm) и прочих технологиях сглаживания шрифтов. Всё это делается цпу. Плюс шестиядерные монстры о двенадцати логических головах. Каждая голова может независимо от других рисовать себе в системную память без конкуренции за гпу и не тратя время на вызовы драйвера и перекачку данных в гпу и обратно.

Была иформация что MS тоже отказалась от старой GDI акселерации. Сейчас проще и быстрее нарисовать картинку цпу.

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 3:57 pm
by andrew_programmer
И последний вопрос. :)
Те функции блиттера, что есть в Pixlib будут в драйвере? То есть так же можно будет перебросить на экран не весь битмап, а его часть начиная с некоторой позиции (x,y) и шириной (width,height)?

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 3:59 pm
by Serge
andrew_programmer

Да, с корректным отсечением.

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 5:06 pm
by Leency
Раньше поддерживался аппаратный курсор VirtualBox, сейчас уже нет. Банальный вопрос - что случилось?

Re: Новые драйвера для ATI Radeon.

Posted: Wed Feb 10, 2010 5:23 pm
by Serge
Leency

Не было такого.

Re: Новые драйвера для ATI Radeon.

Posted: Fri Feb 12, 2010 4:17 pm
by Serge
Теперь на 40% больше !!!

Исправил баг с курсорами на старых картах, плюс ещё огромное количество изменений. Самая свежая версия git.

Re: Новые драйвера для ATI Radeon.

Posted: Fri Feb 12, 2010 6:30 pm
by Mario
Radeon x1300/x1550
Работает нормально, при запуске не мигало.

Re: Новые драйвера для ATI Radeon.

Posted: Fri Feb 12, 2010 11:19 pm
by winnt
У меня пока всё по старому.
Spoiler:Radeon RC9 cmdline
device 1002:9440
enter drm_get_dev
enter radeon_driver_load_kms
DRM: radeon: Initializing kernel modesetting.
DRM: register mmio base: 0xFDFE0000
DRM: register mmio size: 65536
Getting BIOS copy from legacy VBIOS location
[drm:radeon_get_bios] ATOMBIOS detected
<6>ATOM BIOS: ATI
[drm:atom_allocate_fb_scratch] atom firmware requested 000fffec 20kb
DRM: Clocks initialized !
DRM: Detected VRAM RAM=luM, BAR=luM
DRM: RAM width 256bits DDR
DRM: GART: num cpu pages 131072, num gpu pages 131072
[drm:r600_hdmi_init] using HDMI engine at offset 0x7400 for encoder 0x1e
[drm:radeon_process_aux_ch] failed to get auxch 0000 40 30 0x92 02 after 0 retries
[drm:radeon_process_aux_ch] failed to get auxch 0000 00 30 0x92 02 after 0 retries
[drm:r600_hdmi_init] using HDMI engine at offset 0x0000 for encoder 0x15
[drm:r600_hdmi_init] using HDMI engine at offset 0x7800 for encoder 0x1f
[drm:r600_hdmi_init] using HDMI engine at offset 0x0000 for encoder 0x16
DRM: Radeon Display Connectors
DRM: Connector 0:
DRM: HDMI-A
DRM: HPD1
DRM: DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
DRM: Encoders:
DRM: DFP1: INTERNAL_UNIPHY
DRM: Connector 1:
DRM: DisplayPort
DRM: HPD3
DRM: DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
DRM: Encoders:
DRM: DFP2: INTERNAL_UNIPHY
DRM: Connector 2:
DRM: DVI-I
DRM: HPD2
DRM: DDC: 0x7e20 0x7e20 0x7e24 0x7e24 0x7e28 0x7e28 0x7e2c 0x7e2c
DRM: Encoders:
DRM: CRT1: INTERNAL_KLDSCP_DAC1
DRM: DFP3: INTERNAL_KLDSCP_LVTMA
DRM: Connector 3:
DRM: VGA
DRM: DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
DRM: Encoders:
DRM: CRT2: INTERNAL_KLDSCP_DAC2

Re: Новые драйвера для ATI Radeon.

Posted: Fri Feb 12, 2010 11:51 pm
by Serge
winnt

С курсором тоже проблемы ? Что за модель видюхи ?

Re: Новые драйвера для ATI Radeon.

Posted: Sat Feb 13, 2010 12:25 am
by winnt
Serge

Курсор в этот раз стал нормально работать. Система по прежнему не грузится, пока не прибьёшь atikms.
видюха Ati radeon hd 4870