Page 1 of 8 123 ... LastLast
Results 1 to 10 of 74

Thread: Mesa Gallium3D Pipe-Video Has Landed

  1. #1
    Join Date
    Jan 2007
    Posts
    15,138

    Default Mesa Gallium3D Pipe-Video Has Landed

    Phoronix: Mesa Gallium3D Pipe-Video Has Landed

    As expected, Christian König has pushed the Gallium3D pipe-video work into the mainline Mesa repository, which will be one of the big features to be introduced in Mesa 7.12/8.0 release, not the forthcoming Mesa 7.11...

    http://www.phoronix.com/vr.php?view=OTY2OQ

  2. #2
    Join Date
    Jul 2009
    Posts
    20

    Default

    so I'm a noob...

    How do I use this? Is it usable? mplayer -vo vdpau complains that it can't find libvdpau_nvidia.so even though I'm running r600g

  3. #3
    Join Date
    Jul 2007
    Posts
    448

    Default I think you'll need to set VDPAU_DRIVER

    Quote Originally Posted by sgcb View Post
    mplayer -vo vdpau complains that it can't find libvdpau_nvidia.so even though I'm running r600g
    I'm no expert, but I think libvdpau is hardcoded to use the "nvidia" back-end unless you override it by setting the VDPAU_DRIVER environment variable.

    I think you want to try something like:
    Code:
    $ VDPAU_DRIVER=r600 vdpauinfo

  4. #4
    Join Date
    Jul 2009
    Location
    Germany
    Posts
    513

    Default

    you need to set an environment variable:
    Code:
    VDPAU_DRIVER=r600 mplayer

  5. #5
    Join Date
    Jul 2011
    Location
    Paris/France
    Posts
    40

    Default On gentoo

    The x11 overlay contains a 'live' ebuild media-libs/mesa-9999, but it doesn't (yet?) set the proper flags. You need to add
    myconf+="--enable-xvmc --enable-vdpau"
    just before the econf line
    (then, don't forget to update the manifest using 'repoman manifest').

    With those settings i now have some new files installed on my r600 system:
    /usr/lib64/libXvMCr600.so*
    /usr/lib64/libXvMCsoftpipe.so*
    /usr/lib64/vdpau/libvdpau_r600.so*
    /usr/lib64/vdpau/libvdpau_softpipe.so*

    As said previously, you need to set the env var VDPAU_DRIVER to your card (here : 'r600').
    vdpauinfo and mplayer wont see the vdpau stuff until i also set
    LD_LIBRARY_PATH=/usr/lib64/vdpau

    With all of this, i have the following results
    • vdpauinfo fails with "Failed to open VDPAU backend libvdpau_r600.so: cannot open shared object file: No such file or directory"
    • mplayer -vo vdpau manages to display the video, but it has lot of problems, such as printing "[vdpau] Error when calling vdp_output_surface_put_bits_indexed: No backend implementation could be loaded.", having a green line at the bottom of the video, and using as much CPU as usual. So i guess it's a failure too, but i wonder about the green line.. ?
    • using mplayer -vo xvmc fails with "vo_xvmc: No X-Video MotionCompensation Extension on :0"

  6. #6
    Join Date
    Jul 2009
    Posts
    20

    Default

    Right, VDPAU_DRIVER=r600 is working here as well, thanks As long as the linker can see libvdpau_r600.so which is installed to /usr/local/lib/vdpau on my system.

    This looks pretty good. Also I've noticed that changing to fullscreen does not keep the original source video's aspect like other video output drivers. Instead, video is stretched to cover the entire screen. And I too am seeing the vdp_output_surface_put_bits_indexed and vdp_output_surface_render_output_surface errors orzel mentions.

    Regardless, Christian König is one awesome dude for all his work on the open source graphics stack!

  7. #7
    Join Date
    Mar 2011
    Posts
    7

    Default

    Does that mean that R300 will get VDPAU, too?

  8. #8
    Join Date
    Oct 2008
    Posts
    3,176

    Default

    Is there a blog post or wiki page anywhere that goes over the current status of this?

    As in, which codecs does it support? What are the limitations? Does it provide full h.264L5 support? h.263? Does it fall back to using the CPU in certain cases? What kind of performance does it provide?

    This might be a good topic for Phoronix to handle, but it's a fairly large subject so it might be too much for Michael.

  9. #9
    Join Date
    Aug 2009
    Location
    Russe, Bulgaria
    Posts
    528

    Default

    Thank you Chris! I will definitely buy Llano because of you.
    I skimmed through r600_shader.c and I saw virtually no R{678}00 optimization. Just directly TGSI to metal translation. After you video work, maybe AMD is just needs to optimize shaders a little bit.

  10. #10
    Join Date
    Jun 2010
    Location
    ฿ 16LDJ6Hrd1oN3nCoFL7BypHSEYL84ca1JR
    Posts
    1,052

    Default

    Autogenerated configure scripts and makefiles are all fun and stuff, but only when it works.
    Code:
    make[3]: *** No rule to make target `../../../../src/gallium/drivers/softpipe/libsoftpipe.a', needed by `../../../../lib/egl/egl_gallium.so'.  Stop.
    Code:
    pkgname=mesa-full-r600g
    pkgver=20110714
    _realver=7.12
    pkgrel=1
    pkgdesc="Full Mesa 3D graphics library with all its components, built from the git master branch (mesa 7.12). Compiles mesa for r600g (gallium)."
    arch=(i686 x86_64)
    url="http://mesa3d.org/"
    license=('LGPL')
    depends=('libdrm-git' 'dri2proto>=2.1' 'glproto>=1.4.10' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1' 'libxmu' 'talloc' 'llvm')
    makedepends=('pkgconfig' 'imake' 'xorg-server-devel')
    optdepends=('llvm: "configure" tests for its presence and compiles with some additional "-D" macros if found')
    provides=("libgl=${_realver}" "mesa=${_realver}" "freeglut=${_realver}" "glut=${_realver}" "ati-dri=${_realver}")
    replaces=('libgl' 'mesa' 'freeglut' 'glut' 'ati-dri')
    conflicts=('libgl' 'mesa' 'freeglut' 'glut' 'ati-dri' 'mesa-full')
    
    _gitroot="git://anongit.freedesktop.org/git/mesa/mesa"
    _gitname="mesa"
    
    build() {
       msg "Connecting to git.freedesktop.org GIT server...."
    
       if [ -d $startdir/src/$_gitname ] ; then
          cd $_gitname && git pull origin
          msg "The local files are updated."
       else
          git clone $_gitroot
       fi
    
       msg "GIT checkout done or server timeout"
       msg "Starting make..."
    
       rm -rf $startdir/src/$_gitname-build
       cp -rH $startdir/src/$_gitname $startdir/src/$_gitname-build
       cd ${srcdir}/${_gitname}-build
    
       cd "${startdir}/src/mesa-build"
       ./autogen.sh --prefix=/usr \
       --with-dri-drivers=r600 \
       --with-gallium-drivers=r600 \
       --with-dri-driverdir=/usr/lib/xorg/modules/dri \
       --enable-glx-tls \
       --enable-xcb \
       --enable-egl \
       --enable-gallium-egl \
       --enable-gallium-llvm \
       --enable-glu \
       --enable-gles1 \
       --enable-gles2 \
       --enable-glut \
       --enable-glw \
       --enable-openvg \
       --enable-xa \
       --enable-xorg \
       --enable-osmesa \
       --enable-texture-float \
       --enable-shared-glapi \
       --enable-shared-dricore \
       --enable-gbm \
       --enable-gallium-gbm \
       --enable-xvmc \
       --enable-vdpau \
       --enable-gallium-g3dvl || return 1
    
       make || return 1
       make DESTDIR="${pkgdir}" install || return 1
    
       install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
       ln -sf libglx.xorg ${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so || return 1
    }
    *Sigh*
    It's beginning at mesa too...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •