[Mesa-dev] [PATCH] targets/xvmc-nouveau: enable XvMC on nv30

Matt Turner mattst88 at gmail.com
Tue Jan 8 09:06:18 PST 2013


On Tue, Jan 8, 2013 at 5:00 AM, Andreas Boll <andreas.boll.dev at gmail.com> wrote:
> From: Arvind R <arvino55 at gmail.com>
>
> applications cannot load libXvMC.so due to nv30_screen_create being undefined.
> This patch fixes that. And MPlayer successfully uses XvMC for
> video-out on GeForce 9400GT
>
> Log:
> vo_xvmc: Using Xv Adaptor #0 (Nouveau GeForce 8/9 Textured Video)
> vo_xvmc: Port 63 grabed
> vo_xvmc: Allocated Direct Context
> vo_xvmc: data_blocks allocated
> vo_xvmc: mv_blocks allocated
> vo_xvmc: Motion Compensation context allocated - 8 surfaces
> vo_xvmc: idct=1 unsigned_intra=0
> vo_xvmc: looking for OSD support
>     Subpicture id 0x34344149
> vo_xvmc: OSD support by backend rendering (fast)
> vo_xvmc: Please send feedback to confirm that it works,otherwise send bugreport
> [VD_FFMPEG] XVMC-accelerated MPEG-2.
>
> vo_xvmc: OSD support by backend rendering (fast)
> vo_xvmc: Please send feedback to confirm that it works,otherwise send bugreport
> [VD_FFMPEG] XVMC-accelerated MPEG-2.
>
> NOTE: This is a candidate for the 9.0 branch.
>
> Signed-off-by: Arvind R. <arvino55 at gmail.com>
> Signed-off-by: Andreas Boll <andreas.boll.dev at gmail.com>
> ---
>
> Patch found on http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2012-December/071265.html
>
>  src/gallium/targets/xvmc-nouveau/Makefile |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/src/gallium/targets/xvmc-nouveau/Makefile b/src/gallium/targets/xvmc-nouveau/Makefile
> index f81f409..c9525a4 100644
> --- a/src/gallium/targets/xvmc-nouveau/Makefile
> +++ b/src/gallium/targets/xvmc-nouveau/Makefile
> @@ -5,6 +5,7 @@ LIBBASENAME = XvMCnouveau
>
>  PIPE_DRIVERS = \
>         $(TOP)/src/gallium/winsys/nouveau/drm/libnouveaudrm.a \
> +       $(TOP)/src/gallium/drivers/nv30/libnv30.a \
>         $(TOP)/src/gallium/drivers/nv50/libnv50.a \
>         $(TOP)/src/gallium/drivers/nvc0/libnvc0.a \
>         $(TOP)/src/gallium/drivers/nouveau/libnouveau.a \
> --
> 1.7.10.4

Does it actually work on nv30 though? :)

I ran into this and asked on IRC a few months ago. Attached is the conversation.

Since libnv30 includes support for nv40, I guess it should be included
in the build. Maybe something more needs to be done to disable nv30
support though?
-------------- next part --------------
16:42 <    mattst88> | calim: we don't link in libnv30 into the xvmc-nouveau build. oversight, or a reason why?
16:43            --> | Dandel [~Dandel at unaffiliated/dandel] has joined #dri-devel
16:43 <     marcheu> | nv30 doesn't work with it
16:45            <-- | pbor [~paolo at 89.202.223.30] has quit (Ping timeout: 246 seconds)
16:45 <    mattst88> | okay, thanks
16:49 <       calim> | ah, I think it did
16:50 <     marcheu> | didn't nv30 lack signed textures or something for it?
16:50 <       calim> | iirc I even tested it on my (now dead) nv43 but I'm not sure
16:50 <     marcheu> | yeah nv40 will work
16:50 <     marcheu> | nv30 I don't think
16:50 <       calim> | that's hw decoding
16:50 <       calim> | *dedicated
16:51            <-- | Droste [~droste at p4FE0F6B7.dip.t-dialin.net] has quit (Quit: Leaving.)
16:51 <     marcheu> | ah the dedicated parts
16:51 <       calim> | ah right, still need to do some shadery stuff though
16:52 <     marcheu> | well probably ymanton0 would know
16:52 <       calim> | anyway, libnv30 includes nv40
16:52 <     marcheu> | yeah nv40 I think will work
16:53 <       calim> | but looks like it's not hooked up; not sure what happened there
16:53 <       calim> | maybe darktama forgot about it when merging s/nvfx/nv30
16:54 <       calim> | so, doesn't make sense to add it to the build

17:11 <     ymanton> | calim, you're asking about hw or shader decode for nv30?
17:13 <    mattst88> | ymanton: whatever would be used by the xvmc st
17:14 <     ymanton> | xvmc st uses whatever the driver uses under the cover
17:18 <     ymanton> | shader decode wont work on <nv50 anymore because christian koenig changed it to use stuff like control flow, r16g16, etc.
17:20 <     marcheu> | ah ok, that explains it then
17:20 <     ymanton> | doubt hw decode works, since nv30 doesnt support non-swizzled src tex
17:20 <       calim> | so it'll probably just work on nv40; the code doesn't check for that though
17:21 <       calim> | shader decode is pointless imo
17:23 <       calim> | and even hw decode apparently isn't that popular among devs or someone would have implemented some of the modern stuff on nv50+ by now
17:25 <       calim> | well, mpeg4 decode was working with blob fw, but at that point it's just getting tedious and non-rewarding


More information about the mesa-dev mailing list