Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Jan 28, 2021 6:31 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 457 posts ]  Go to page Previous 15 6 7 8 931 Next
Author Message
PostPosted: Sat Jan 28, 2012 1:40 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario
Понятно. Родное разрешение там только одно, 1600х900. Остальные драйвер вычисляет сам и добавляет стандартные режимы VESA.
1366х768 похоже на баг драйвера. Обычно ширина кратна 8.

Update. Это не баг, это HDTV.


Top
   
PostPosted: Sat Jan 28, 2012 1:51 pm 
Т.е. программная эмуляция?


Top
   
PostPosted: Sat Jan 28, 2012 2:42 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario
Эмуляция в том смысле, что параметры режима рассчитывает драйвер. Сам режим реальный.
Обычно драйвер читает EDID монитора и там прописаны режимы, которые монитор поддерживает.
У ноутов EDID может и не быть. Данные записаны в биос.
[drm:parse_lfp_panel_data] Found panel mode in BIOS VBT tables:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1600x900" 0 96370 1600 1648 1680 1736 900 901 906 922 0x8 0xa
Похоже это твой случай. Виндовый драйвер проявляет немного сообразительности и генерирует промежуточные режимы. Точнее у него есть таблица всех возможных режимов которые он проверяет на доступность.


Top
   
PostPosted: Sun Jan 29, 2012 6:45 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2810
Щикарно работает на i965GM (в линуксе драйвер i915).
Логи:
Spoiler: Show
Code:
i915_early_preview second edition
 cmdline: (null)
PCI device 8086:2815 bus:0 devfn:f8
PCI device 8086:2a02 bus:0 devfn:10
PCI device 8086:2a00 bus:0 devfn:0
Intel 965GM Chipset
enter intel_gtt_init
Error intel_i9xx_setup_flush can't ioremap flush page - no chipset flushing
Info intel_gtt_init detected gtt size: 524288K total, 262144K mappable
Info intel_gtt_stolen_size detected 8192K stolen memory
leave intel_gtt_init
device 8086:2a02
enter drm_get_dev
enter i915_driver_load
[drm:intel_opregion_setup] graphic opregion physical addr: 0x3f672010
[drm:intel_opregion_setup] Public ACPI methods supported
[drm:intel_opregion_setup] SWSCI supported
[drm:intel_opregion_setup] ASLE supported
Enabled hardware status page
[drm:init_vbt_defaults] Set default to SSC at 100MHz
[drm:intel_parse_bios] Using VBT from OpRegion: $VBT CRESTLINE      d
[drm:parse_general_definitions] crt_ddc_bus_pin: 2
[drm:parse_lfp_panel_data] Found panel mode in BIOS VBT tables:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1280x800" 0 71110 1280 1328 1360 1440 800 803 809 823 0x8 0xa
[drm:parse_sdvo_panel_data] Found SDVO panel mode in BIOS VBT tables:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1600x1200" 0 162000 1600 1664 1856 2160 1200 1201 1204 1250 0x8 0xa
[drm:parse_sdvo_device_mapping] No SDVO device info is found in VBT
[drm:intel_modeset_init] 2 display pipes available.
enter intel_crtc_init
leave intel_crtc_init
enter intel_crtc_init
leave intel_crtc_init
enter intel_setup_outputs
[drm:intel_panel_get_backlight] get backlight PWM = 0
leave intel_setup_outputs
i915_load_gem_init prealloc: 800000 gtt: 20000000 mappable: 10000000
enter i915_gem_init_ringbuffer
enter intel_init_render_ring_buffer
leave intel_init_render_ring_buffer
enter intel_init_ring_buffer
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
enter init_render_ring
enter init_ring_common
leave init_ring_common
leave init_render_ring
leave intel_init_ring_buffer
leave i915_gem_init_ringbuffer
enter intel_fbdev_init
[drm:drm_helper_probe_single_connector_modes] [CONNECTOR:5:LVDS-1]
[drm:drm_helper_probe_single_connector_modes] [CONNECTOR:5:LVDS-1] probed modes :
[drm:drm_mode_debug_printmodeline] Modeline 13:"1280x800" 60 71110 1280 1328 1360 1440 800 803 809 823 0x48 0xa
[drm:drm_helper_probe_single_connector_modes] [CONNECTOR:11:VGA-1]
[drm:intel_crt_detect] CRT not detected via hotplug
[drm:drm_helper_probe_single_connector_modes] [CONNECTOR:11:VGA-1] disconnected
[drm:drm_setup_crtcs]
[drm:drm_enable_connectors] connector 5 enabled? yes
[drm:drm_enable_connectors] connector 11 enabled? no
[drm:drm_target_preferred] looking for cmdline mode on connector 5
[drm:drm_target_preferred] looking for preferred mode on connector 5
[drm:drm_target_preferred] found mode 1280x800
[drm:drm_setup_crtcs] picking CRTCs for 8192x8192 config
[drm:drm_setup_crtcs] desired mode 1280x800 set on crtc 4
enter i915_gem_alloc_object
leave i915_gem_alloc_object
[drm:intelfb_create] allocated 1280x800 fb: 0x00000000, bo 80d82060
<6>fb0: inteldrmfb frame buffer device
leave intel_fbdev_init
leave i915_driver_load
enter init_display_kms
CONNECTOR 80d81438 ID:  5 status 1 encoder 80d813d8
 crtc 0
[drm:init_display_kms] [Select CRTC:4]
leave init_display_kms
leave drm_get_dev
Set DISPLAY handler
SRV_ENUM_MODES inp 0 inp_size 0 out_size 4
enter get_videomodes
mode 0 count 0
leave get_videomodes
SRV_ENUM_MODES inp 17168 inp_size 10 out_size 4
enter get_videomodes
mode 17168 count 1
leave get_videomodes
SRV_SET_MODE inp 17168 inp_size 10
enter set_user_mode
width 1280 height 800 vrefresh 60
enter set_mode
width 1280 height 800 vrefresh 60
set mode 1280 800 connector LVDS-1 encoder LVDS-6
enter drm_crtc_helper_set_mode
[drm:drm_crtc_helper_set_mode] [CRTC:4]
[drm:intel_panel_set_backlight] set backlight PWM = 0
<4>fixme: max PWM is zero.
[drm:intel_update_fbc]
enter intel_update_watermarks
[drm:i965_update_wm] self-refresh entries: 80, wm: 432
[drm:i965_update_wm] self-refresh watermark: display plane 432 cursor 32
[drm:i965_update_wm] Setting FIFO watermarks - A: 8, B: 8, C: 8, SR 432
leave intel_update_watermarks
enter intel_crtc_mode_set
[drm:i9xx_crtc_mode_set] using SSC reference clock of 96 MHz
[drm:i9xx_crtc_mode_set] Mode for pipe B:
[drm:drm_mode_debug_printmodeline] Modeline 13:"1280x800" 60 71110 1280 1328 1360 1440 800 803 809 823 0x48 0xa
enter intel_pipe_set_base
enter intel_pipe_set_base_atomic
[drm:i9xx_update_plane] Writing base 00000000 00000000 0 0 5120
[drm:intel_update_fbc]
enter intel_increase_pllclock
leave intel_pipe_set_base_atomic
leave intel_pipe_set_base
enter intel_update_watermarks
[drm:i965_update_wm] self-refresh entries: 80, wm: 432
[drm:i965_update_wm] self-refresh watermark: display plane 432 cursor 32
[drm:i965_update_wm] Setting FIFO watermarks - A: 8, B: 8, C: 8, SR 432
leave intel_update_watermarks
leave intel_crtc_mode_set
[drm:drm_crtc_helper_set_mode] [ENCODER:6:LVDS-6] set [MODE:13:1280x800]
enter intel_update_watermarks
[drm:i965_update_wm] self-refresh entries: 80, wm: 432
[drm:i965_update_wm] self-refresh watermark: display plane 432 cursor 32
[drm:i965_update_wm] Setting FIFO watermarks - A: 8, B: 8, C: 8, SR 432
leave intel_update_watermarks
[drm:intel_update_fbc]
[drm:intel_lvds_enable] applying panel-fitter: 0, 0
<4>fixme: max PWM is zero.
[drm:intel_panel_set_backlight] set backlight PWM = 1
<4>fixme: max PWM is zero.
[drm:drm_calc_timestamping_constants] crtc 4: hwmode: htotal 1440, vtotal 823, vdisplay 800
[drm:drm_calc_timestamping_constants] crtc 4: clock 71110 kHz framedur 16665750 linedur 20250, pixeldur 14
leave drm_crtc_helper_set_mode
new mode 1280 x 800 pitch 5120
leave set_mode
leave set_user_mode
SRV_SET_MODE inp 15540 inp_size 10
enter set_user_mode
width 1280 height 800 vrefresh 75
enter set_mode
width 1280 height 800 vrefresh 75
leave set_mode
leave set_user_mode
SRV_SET_MODE inp 15540 inp_size 10
enter set_user_mode
width 1280 height 800 vrefresh 85
enter set_mode
width 1280 height 800 vrefresh 85
leave set_mode
leave set_user_mode
SRV_SET_MODE inp 15540 inp_size 10
enter set_user_mode
width 1280 height 800 vrefresh 100
enter set_mode
width 1280 height 800 vrefresh 100
leave set_mode
leave set_user_mode
SRV_SET_MODE inp 15540 inp_size 10
enter set_user_mode
width 1280 height 800 vrefresh 100
enter set_mode
width 1280 height 800 vrefresh 100
leave set_mode
leave set_user_mode
SRV_SET_MODE inp 15540 inp_size 10
enter set_user_mode
width 1280 height 800 vrefresh 75
enter set_mode
width 1280 height 800 vrefresh 75
leave set_mode
leave set_user_mode
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor
enter init_cursor
enter i915_gem_alloc_object
leave i915_gem_alloc_object
enter i915_gem_object_pin
enter i915_gem_object_bind_to_gtt
enter i915_gem_object_get_pages_gtt
leave i915_gem_object_get_pages_gtt
enter i915_gem_gtt_bind_object
leave i915_gem_gtt_bind_object
leave i915_gem_object_bind_to_gtt
leave i915_gem_object_pin
leave init_cursor


Top
   
PostPosted: Thu Feb 02, 2012 1:51 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Новая превьюшка с блекджеком и шлюхами Тест Fplay и блиттера.
Это только превьюшка. В драйвере утечка памяти и нет синхронизации. Поэтому больше одного плеера с драйвером лучше не запускать.
И не забудьте обновить ядро.


Top
   
PostPosted: Thu Feb 02, 2012 8:03 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2810
Увы :( 965GM
Code:

i915 blitter preview
 cmdline: (null)
PCI device 8086:2815 bus:0 devfn:f8
PCI device 8086:2a02 bus:0 devfn:10
PCI device 8086:2a00 bus:0 devfn:0
Intel 965GM Chipset
enter intel_gtt_init
Error intel_i9xx_setup_flush can't ioremap flush page - no chipset flushing
Info intel_gtt_init detected gtt size: 524288K total, 262144K mappable
Info intel_gtt_stolen_size detected 8192K stolen memory
leave intel_gtt_init
device 8086:2a02
enter drm_get_dev
enter i915_driver_load
[drm:intel_opregion_setup] graphic opregion physical addr: 0x3f672010
[drm:intel_opregion_setup] Public ACPI methods supported
[drm:intel_opregion_setup] SWSCI supported
[drm:intel_opregion_setup] ASLE supported
K : Process - forced terminate PID: 00000029

K : Page fault

K : EAX : 00000000 EBX : 80C260C8 ECX : 00000400

K : EDX : 00000000 ESI : 00001000 EDI : 00971000

K : EBP : 80C11CD8 EIP : 80CB59C4 ESP : 80C11CC8

K : Flags : 00011206 CS : 00000008 (kernel)



Top
   
PostPosted: Thu Feb 02, 2012 8:35 pm 
Dell Inspiron N7010
Работать то оно работает, но вот с новым FPLAY нагрузка наоборот увеличилась, где то на 20%, а где то и на все 50%.
Spoiler: Show
Attachment:
I915.LOG [7.21 KiB]
Downloaded 54 times

Attachment:
BOARDLOG.TXT [15.85 KiB]
Downloaded 57 times

На графике GMON видно:
1 всплеск - старый плеер в режиме 1024*768 до активации драйвера.
2 всплеск - старый плеер после активации драйвера и выбора родного режима 1600*900
3 всплеск - новый плеер после активации драйвера и выбора родного режима 1600*900
Логи приложены для второго теста (на картинке первое тестирование, логи которого я успешно похерил задумавшись). Во втором случае как раз наблюдалось потребление 10% до активации драйвера и 20% после активации.
Attachment:
1.jpg
1.jpg [ 209.99 KiB | Viewed 1903 times ]

[offtop]на кадре ветеринар Мизантрпов Лечебус Викодиныч вешает лапшу школоте, что снимался вместе с Пятницей в pulp fiction[offtop]


Top
   
PostPosted: Fri Feb 03, 2012 4:52 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario
Странно это. А если померить новым плеером загрузку ЦПУ при отрисовке в видеопамять без драйвера. То есть запускаем плеер, смотрим на график загрузки, сворачиваем окно в заголовок и смотрим как изменилась загрузка. У меня на десктопе при сворачивании окошка загрузка падает в разы. Отрисовка в видеопамять идёт очень медленно. Если на ноуте отрисовка происходит очень быстро то с драйвером нагрузка может и возрасти.
Spoiler: Show
Видео 1280х720 24фпс Средняя загрузка 84%. После сворачивания окна в заголовок 8%. То есть отрисовка занимает до 75% времени. При отрисовке через блиттер средняя загрузка 10-11%, драйвер добавляет около 2%.
Attachment:
1.png
1.png [ 12.5 KiB | Viewed 1883 times ]


Top
   
PostPosted: Fri Feb 03, 2012 8:57 am 
Serge wrote:
А если померить новым плеером загрузку ЦПУ при отрисовке в видеопамять без драйвера.

Так я же записал:
Mario wrote:
Во втором случае как раз наблюдалось потребление 10% до активации драйвера и 20% после активации.

Как раз новый плеер и использовался. Ты случайно не перепутал бинарник FPLAY? Может не тот в архив положил.
Сворачивать не пробовал попробую в обед или вечером и отпишусь.
Единственно на что я грешу, то что при выводе в 1024*768 возможно отрисовывается быстрее при прочих равных условиях, чем в 1600*900. Однако в первом случае используется VESA, а во втором уже вроде как аппаратное ускорение должно быть задействовано.


Top
   
PostPosted: Fri Feb 03, 2012 9:46 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Залил свежий код с Linux Git
Много изменений, просьба потестить, в том числе и с плеером. И скорость видеопамяти тоже померить, см. пост выше.

Mario
Fplay тот, я по снимку экрана вижу :)
Я неудачно применил в драйвере SSE2 что давало примерно +10% к загрузке.
В свежей версии это пофиксил.
Другое дело что если запись в видеопамять идёт очень быстро то
1280*720*4*24fps=84Мб/с для процессора просто незаметны и разницы с блиттером нет.

У меня скорость записи примерно 150Мб/с как и на дискретных Радеонах, чего я совсем не понимаю. Почему выделенная под видеопамять двухканальная DDR3 работает с такими тормозами ?


Top
   
PostPosted: Fri Feb 03, 2012 6:54 pm 
Dell Inspiron N7010
Ты не поверишь!
Spoiler: Show
1. Первый горб это до активации драйвера, режим 1024*768.
2. После активации драйвера, до смены режима.
3. После смены режима на 1600*900.
Сворачивание окна незначительно снижает нагрузку до активации драйвера. После акивации сворачивание не помогает - изображение видеопотока продолжает отрисовываться, но частично с мусором.
Attachment:
1.jpg
1.jpg [ 228.39 KiB | Viewed 1847 times ]


Top
   
PostPosted: Fri Feb 03, 2012 7:27 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario
Я у себя и не такое видел.
Раньше видео правильно перекрывалось и сворачивалось, а теперь нет ?
А всё дело в кеше. Блиттер использует хромакей, который я пишу в альфа канал. В результате практически вся картинка оказывается в кеше (она и без этого там сидит), а в ОЗУ старые данные и хромакей не работает как надо. Раньше я записывал хромакей maskmovdqu, она пишет прямо в OЗУ. Теперь перед тем как отправлять картинку блиттеру надо пройтись по ней clflush и сбросить из кеша.

А если дефрагментировать файл график ровнее будет ?


Top
   
PostPosted: Fri Feb 03, 2012 7:34 pm 
Ну, насколько это возможно они уже дефрагментированы.


Top
   
PostPosted: Sat Feb 04, 2012 5:51 pm 
Ты забыл сказать про гранулы натуральных ягод смену ядра или образа на последнее.

Dell Inspiron N7010
Spoiler: Show
Attachment:
I915.LOG [7.43 KiB]
Downloaded 56 times

Attachment:
BOARDLOG.TXT [29.02 KiB]
Downloaded 59 times

Что-то поломалось.
Теперь после запуска драйвера рисуется пустое окно видеоплеера и проигрывается кусок звукового буфера в бесконечном цикле.


Top
   
PostPosted: Sat Feb 04, 2012 6:57 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Eщё раз #4
Пофиксил ошибку с зависанием. Должно работать. Я надеюсь.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 457 posts ]  Go to page Previous 15 6 7 8 931 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 guests


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:  
cron
Powered by phpBB® Forum Software © phpBB Limited