LINUX.ORG.RU

Сообщения progdevel

 

VDPAU interop + QGLWidget - как?

Форум — Development

Когда-то подружил VDPAU и QWidget через vdp_presentation_queue_target_create_x11. Но вот потребовалось связать OpenGL и VDPAU да так, чтобы через QGLWidget. Не получилось.

По порядку.

Нашел рабочий пример traceplay от NVIDIA, в котором используется отображение Vdpau Surface -> GL Texture. Для инициализации окна и контекста рисования там используются низкоуровневые X-овые команды (с этим я не дружен). Решил по аналогии реализовать, но используя QGLWidget, т.к. встраиваю в рабочий проект, написанный целиком на QT. Итак. Инициализирую QGLWidget с использованием DirectRendering, цепляю vdpau, используя QX11Info и vdp_device_create_x11. Далее пытаюсь инициализировать VDPAU interop. И тут встречаю следующую проблему:

QGLWidget::makeCurrent();
glVDPAUInitNV( (void *)(size_t)(&m_vc->vdpDevice), (void *)(uintptr_t)m_vc->vdp_get_proc_address );
	qDebug() << ">>>>>>>>> glVDPAUInitNV state:" << (char *)gluErrorString(glGetError());
Выдает: «>>>>>>>>> glVDPAUInitNV state: invalid operation» Если не вызываю makeCurrent(), то инициализация проходит без ошибок, но на поверку оказывается, что тот же glVDPAURegisterOutputSurfaceNV() всегда возвращает 0. Т.е. ничего как бы не инициализировалось.

Вот что написано в документации:

INVALID_OPERATION is generated if VDPAUInitNV is called on a given GL context, where VDPAUInitNV has been called, and VDPAUFiniNV has not been called since.

INVALID_OPERATION is generated by VDPAUInitNV, VDPAURegisterVideoSurfaceNV, or VDPAURegisterOutputSurfaceNV if the VDPAU driver refuses the request for some reason.

Этого явно недостаточно.

Какие мысли?

Distrib: Ubuntu 10.10; Kernel: 2.6.36; GPU: NVIDIA GPU GeForce GT 220; VDPAU implementation : NVIDIA VDPAU Driver Shared Library 290.10 Wed Nov 16 19:53:31 PST 2011; OpenGL: 3.3.0;

progdevel
()

Переход на терминал из X происходит без Ctrl

Форум — General

Добрый день! Использую kubuntu 10.04. После установки fglrx стало происходить вот что: переход из X на терминал осуществляется не только по Ctrl-Alt-Fn, но и по Alt-Fn (что очень неудобно). Лечится это перезапуском иксов. С mesa таких проблем не было.

Видео-карта Mobility Radeon HD 2400, ati-драйвер 10 версии, версия ядра 2.6.35. fgl_glxgears летает, других глюков не замечено.

Вот xorg.conf:

Section "ServerLayout"
	Identifier     "aticonfig Layout"
	Screen      0  "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Module"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]-0"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]-0"
	Driver      "fglrx"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]-0"
	Device     "aticonfig-Device[0]-0"
	Monitor    "aticonfig-Monitor[0]-0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Как исправить, чтобы из X переходить на терминал по Ctrl-Alt-Fn, а не Alt-Fn?

progdevel
()

RSS подписка на новые темы