Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Oct 25, 2021 7:46 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 610 posts ]  Go to page Previous 118 19 20 21 2241 Next
Author Message
PostPosted: Wed Feb 10, 2010 11:55 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Serge
Quote:
1.Если без прямого доступа к видеопамяти не обойтись и очень хочется избежать артефактов на экране, то нужна синхронизация.

Обойтись можно, только потребуется дополнительная память под буферы. Получается, что в общем нужно памяти размером с 2 экрана. На компьютерах, где мало памяти - это значимо. Тогда уже не запустить Kolibri на компьютере с 8Mb RAM при 24/32 битном цвете. К тому же в случае VESA драйвера скорость копирования битмапа упадёт в 2 раза(первый раз копируется в экранный буфер, второй раз непосредственно на экран).
Quote:
2. Никаких аппаратных примитивов, только блиттер. Конвертация YUV->RGB (тоже блиттер).

А можно копировать битмап с прозрачностью и как это выглядит(в смысле операций с памятью)? Просто мне нужен некоторый универсальный интерфейс для работы с любым драйвером(как с аппаратным, так и нет), поэтому пытаюсь понять, что и как умеют делать современный видео карты.

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

_________________
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!


Top
   
PostPosted: Wed Feb 10, 2010 12:14 pm 
Offline

Joined: Wed Dec 26, 2007 5:09 am
Posts: 214
andrew_programmer wrote:
Тут речь идёт о взаимодействия драйвера с оконной подсистемой. Просто двойной буферизацией тут не обойдёшься(скорость упадёт и памяти много израсходует).


Гм... А с чего бы это скорости падать? Да и расход -- только видеопамяти, а не ОЗУ. Оба буфера находятся в видеопамяти, переключение поэтому можно считать мгновенным, поскольку ничего копировать не приходится, надо лишь дать команду отображать информацию из другого буфера.


Top
   
PostPosted: Wed Feb 10, 2010 12:22 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Процетирую самого себя.
Quote:
нужен некоторый универсальный интерфейс для работы с любым драйвером(как с аппаратным, так и нет)

Quote:
К тому же в случае VESA драйвера скорость копирования битмапа упадёт в 2 раза(первый раз копируется в экранный буфер, второй раз непосредственно на экран).

_________________
KolibriOS-перспективная ос!

Kolibri is best operation system in the world!


Top
   
PostPosted: Wed Feb 10, 2010 1:05 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Прозрачность поддерживают все карты. Это colorkey, альфа-канал или битовая карта прозрачности (как и в Колибри определяет форму окна). В pixlib были функции для работы с прозрачностью TransparentBlit и BlitAlpha.


Top
   
PostPosted: Wed Feb 10, 2010 1:23 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1449
SII wrote:
Гм... А с чего бы это скорости падать? Да и расход -- только видеопамяти, а не ОЗУ. Оба буфера находятся в видеопамяти, переключение поэтому можно считать мгновенным, поскольку ничего копировать не приходится, надо лишь дать команду отображать информацию из другого буфера.

Системные фреймбуферы должны находиться в системной памяти, иначе скорость обмена (особенно чтения) упадет в десятки раз.

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

_________________
Евангелие от Иоанна: стих 1
Code:
; В начале было Слово:
B32:        mov     ax, os_stack       ; Selector for os


Top
   
PostPosted: Wed Feb 10, 2010 2:56 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
art_zh

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

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


Top
   
PostPosted: Wed Feb 10, 2010 3:57 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
И последний вопрос. :)
Те функции блиттера, что есть в Pixlib будут в драйвере? То есть так же можно будет перебросить на экран не весь битмап, а его часть начиная с некоторой позиции (x,y) и шириной (width,height)?

_________________
KolibriOS-перспективная ос!

Kolibri is best operation system in the world!


Top
   
PostPosted: Wed Feb 10, 2010 3:59 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
andrew_programmer

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


Top
   
PostPosted: Wed Feb 10, 2010 5:06 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5540
Раньше поддерживался аппаратный курсор VirtualBox, сейчас уже нет. Банальный вопрос - что случилось?

_________________
Звиздеть не мешки ворочать


Top
   
PostPosted: Wed Feb 10, 2010 5:23 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Leency

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


Top
   
PostPosted: Fri Feb 12, 2010 4:17 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Теперь на 40% больше !!!

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


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


Attachments:
ATI.7z [2.17 KiB]
Downloaded 147 times
Top
   
PostPosted: Fri Feb 12, 2010 11:19 pm 
Offline

Joined: Wed Jan 04, 2006 12:25 pm
Posts: 59
У меня пока всё по старому.
Spoiler: Show
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


Top
   
PostPosted: Fri Feb 12, 2010 11:51 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
winnt

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


Top
   
PostPosted: Sat Feb 13, 2010 12:25 am 
Offline

Joined: Wed Jan 04, 2006 12:25 pm
Posts: 59
Serge

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 610 posts ]  Go to page Previous 118 19 20 21 2241 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited