[Libva] vaCreateSurfaceGLX now works with psb (IEGD 10.3) + Xorg 1.6.4
Adam Strzelecki
ono at java.pl
Thu Feb 18 12:26:53 PST 2010
> Thanks for testing. BTW, if FBO works with your change then the plain vaCopySurfaceGLX() function should work too.
Well, vaCopySurfaceGLX blows up Xorg actually here (both "./vaapi_h264 --glx --vaapi-glx-use-copy" or "./vaapi_h264 --getimage pixmap" cause SIGSEGV).
Both are trying to render vaPutSurface onto Pixmap, and Xorg catch SEGV on vaPutSurface VA driver code.
When using bind however "./vaapi_h264 --glx --no-vaapi-glx-use-copy" I can see nice picture on the screen :> So I presume it works, at lease in hwdemos.
> If so, I'd be interested to know whether this makes a difference, performance-wise, in MPlayer for example.
First of all it doesn't work out of the box at all as I get vaCopySurfaceGLX (1st case) vaAssociateSurfaceGLX (2nd case) "flag not supported" error, because libva checks:
> /* XXX: only support VA_FRAME_PICTURE */
> if (flags != VA_FRAME_PICTURE)
> return VA_STATUS_ERROR_FLAG_NOT_SUPPORTED;
And when I use "mplayer -vo vaapi:gl" or even "mplayer -vo vaapi:gl:deint=0" vo_vaapi.c still passes VA_SRC_BT709 or VA_SRC_BT601 to flags.
When I fix va_vaapi.c to pass only VA_FRAME_PICTURE /* 0x0 */ I get:
> e.g.
> mplayer -vo vaapi:gl -va vaapi
(1) Xorg crash as above
> vs.
> mplayer -vo vaapi:gl:bind -va vaapi
(2) No crash but no image also -> "nice" black rectangle.... argh!
Do you have any idea why "./vaapi_h264 --glx --vaapi-glx-use-copy" renders actually something but "mplayer -vo vaapi:gl:bind -va vaapi" shows just black rectangle???
Cheers,
--
Adam
More information about the Libva
mailing list