[Libva] vaCreateSurfaceGLX on psb fails (due lack of GLX_EXT_texture_from_pixmap)

Gwenole Beauchesne gbeauchesne at splitted-desktop.com
Thu Feb 18 02:33:01 PST 2010


Hi,

On Thu, 18 Feb 2010, Adam Strzelecki wrote:

> Good news, seems that IEGD 10.3 has GLX_EXT_texture_from_pixmap! Still 
> vaCreateSurfaceGLX fails, but not because of this missing extension.

IEGD had TFP for a long time since this is a Moblin requirement. However, 
what is missing is vaPutSurface() support to an X11 Pixmap. I have not 
tried yet, and I doubt it would work anyway, please try:
$ ./vaapi_h264 --getimage pixmap

It's much simpler to check that way. ;-) This is available in
<http://www.splitted-desktop.com/~gbeauchesne/hwdecode-demos/>

If this works, a way to avoid the FBO is to use the VA/GLX 'bind' API 
instead of the copy.
$ ./vaapi_h264 --glx --no-vaapi-glx-use-copy

However, note that I removed that 'bind' API in my next libVA packages. 
TFP is suboptimal. It was discussed to let the driver expose the 
underlying Pixmap instead, but I don't think it's available yet. And, this 
is quite obsolete anyway. Proper implementation of vaCopySurfaceGLX() is 
simpler, IMHO.

> I am able to play 6 to 7 H264 PAL resolution concurrent streams with my 
> Atom Z530 box using vaapi-mplayer and X11 rendering, so far so good.

Wow, I never tried that many. Is this concurrent from within the same 
process or different processes?

Regards,
Gwenole.


More information about the Libva mailing list