[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