diff --git a/Mesa.changes b/Mesa.changes index 4ed5046..c26c05e 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jun 12 15:53:50 UTC 2012 - sndirsch@suse.com + +- enabled build of XvMC/VDPAU state trackers for Nouveau, R300, + R600, Softpipe (Software implementation) + +------------------------------------------------------------------- +Tue Jun 12 10:19:01 UTC 2012 - sndirsch@suse.com + +- u_remove-os-abi-tag.patch + * Remove OS ABI tag from libGL, so it is no longer preferred over + libGLs without OS ABI tag (bnc#765294, fdo#26663) + ------------------------------------------------------------------- Fri Jun 8 14:05:30 UTC 2012 - sndirsch@suse.com diff --git a/Mesa.spec b/Mesa.spec index 36409d9..715c948 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -58,6 +58,8 @@ BuildRequires: pkgconfig(xxf86vm) %ifarch %ix86 x86_64 BuildRequires: llvm-devel %endif +BuildRequires: libXvMC-devel +BuildRequires: libvdpau-devel BuildRequires: vim Url: http://www.mesa3d.org Provides: Mesa7 = %{version} @@ -92,6 +94,8 @@ Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch Patch12: upstream-llvm-patch.diff # Patch from Fedora, fix 16bpp in llvmpipe Patch13: u_mesa-8.0.1-fix-16bpp.patch +# Patch to remove OS ABI tag from libGL, so it is no longer preferred over libGLs without OS ABI tag +Patch14: u_remove-os-abi-tag.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -383,6 +387,77 @@ video driver. This package provides the development environment for compiling programs against the XA state tracker. +%package -n libXvMC_nouveau +Summary: XVMC state tracker for Nouveau +Group: System/Libraries + +%description -n libXvMC_nouveau +This package contains the XvMC state tracker for Nouveau. This is +still "work in progress", i.e. expect poor video quality, choppy +videos and artefacts all over. + +%package -n libXvMC_r300 +Summary: XVMC state tracker for R300 +Group: System/Libraries + +%description -n libXvMC_r300 +This package contains the XvMC state tracker for R300. This is +still "work in progress", i.e. expect poor video quality, choppy +videos and artefacts all over. + +%package -n libXvMC_r600 +Summary: XVMC state tracker for R600 +Group: System/Libraries + +%description -n libXvMC_r600 +This package contains the XvMC state tracker for R600. This is +still "work in progress", i.e. expect poor video quality, choppy +videos and artefacts all over. + +%package -n libXvMC_softpipe +Summary: Software implementation of XVMC state tracker +Group: System/Libraries + +%description -n libXvMC_softpipe +This package contains the Software implementation of the XvMC +state tracker. This is still "work in progress", i.e. expect +poor video quality, choppy videos and artefacts all over. + +%package -n libvdpau_nouveau +Summary: XVMC state tracker for Nouveau +Group: System/Libraries + +%description -n libvdpau_nouveau +This package contains the VDPAU state tracker for Nouveau. This is +still "work in progress", i.e. expect poor video quality, choppy +videos and artefacts all over. + +%package -n libvdpau_r300 +Summary: XVMC state tracker for R300 +Group: System/Libraries + +%description -n libvdpau_r300 +This package contains the VDPAU state tracker for R300. This is +still "work in progress", i.e. expect poor video quality, choppy +videos and artefacts all over. + +%package -n libvdpau_r600 +Summary: XVMC state tracker for R600 +Group: System/Libraries + +%description -n libvdpau_r600 +This package contains the VDPAU state tracker for R600. This is +still "work in progress", i.e. expect poor video quality, choppy +videos and artefacts all over. + +%package -n libvdpau_softpipe +Summary: Software implementation of XVMC state tracker +Group: System/Libraries + +%description -n libvdpau_softpipe +This package contains the Software implementation of the VDPAU +state tracker. This is still "work in progress", i.e. expect +poor video quality, choppy videos and artefacts all over. %package -n Mesa-libglapi0 Summary: Free implementation of the GL API @@ -402,6 +477,7 @@ rm -rf docs/README.{VMS,WIN32,OS2} #%patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %build @@ -427,6 +503,8 @@ autoreconf -fi --enable-gallium-llvm \ --with-dri-drivers=i915,i965,nouveau,r200,radeon \ --with-gallium-drivers=r300,r600,nouveau,swrast,svga \ + --enable-vdpau \ + --enable-xvmc \ %endif %ifarch ia64 ppc ppc64 %sparc hppa --with-dri-drivers=nouveau,r200,radeon \ @@ -506,6 +584,27 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc %post -n libxatracker1 -p /sbin/ldconfig %postun -n libxatracker1 -p /sbin/ldconfig + +%post -n libXvMC_nouveau +%postun -n libXvMC_nouveau + +%post -n libXvMC_r300 +%postun -n libXvMC_r300 + +%post -n libXvMC_r600 +%postun -n libXvMC_r600 + +%post -n libXvMC_softpipe +%postun -n libXvMC_softpipe + +%post -n libvdpau_r300 +%postun -n libvdpau_r300 + +%post -n libvdpau_r600 +%postun -n libvdpau_r600 + +%post -n libvdpau_softpipe +%postun -n libvdpau_softpipe %endif %post -n Mesa-libglapi0 -p /sbin/ldconfig @@ -604,6 +703,54 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc %_includedir/xa_*.h %_libdir/libxatracker.so %_libdir/pkgconfig/xatracker.pc + +%files -n libXvMC_nouveau +%defattr(-,root,root) +%_libdir/libXvMCnouveau.so +%_libdir/libXvMCnouveau.so.1 +%_libdir/libXvMCnouveau.so.1.0 + +%files -n libXvMC_r300 +%defattr(-,root,root) +%_libdir/libXvMCr300.so +%_libdir/libXvMCr300.so.1 +%_libdir/libXvMCr300.so.1.0 + +%files -n libXvMC_r600 +%defattr(-,root,root) +%_libdir/libXvMCr600.so +%_libdir/libXvMCr600.so.1 +%_libdir/libXvMCr600.so.1.0 + +%files -n libXvMC_softpipe +%defattr(-,root,root) +%_libdir/libXvMCsoftpipe.so +%_libdir/libXvMCsoftpipe.so.1 +%_libdir/libXvMCsoftpipe.so.1.0 + +%files -n libvdpau_nouveau +%defattr(-,root,root) +%_libdir/vdpau/libvdpau_nouveau.so +%_libdir/vdpau/libvdpau_nouveau.so.1 +%_libdir/vdpau/libvdpau_nouveau.so.1.0 + +%files -n libvdpau_r300 +%defattr(-,root,root) +%_libdir/vdpau/libvdpau_r300.so +%_libdir/vdpau/libvdpau_r300.so.1 +%_libdir/vdpau/libvdpau_r300.so.1.0 + +%files -n libvdpau_r600 +%defattr(-,root,root) +%_libdir/vdpau/libvdpau_r600.so +%_libdir/vdpau/libvdpau_r600.so.1 +%_libdir/vdpau/libvdpau_r600.so.1.0 + +%files -n libvdpau_softpipe +%defattr(-,root,root) +%_libdir/vdpau/libvdpau_softpipe.so +%_libdir/vdpau/libvdpau_softpipe.so.1 +%_libdir/vdpau/libvdpau_softpipe.so.1.0 %endif %files -n Mesa-libglapi0 diff --git a/baselibs.conf b/baselibs.conf index 4fc5a85..b91beec 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -42,3 +42,11 @@ libgbm-devel requires -libgbm- requires "libgbm1- = " Mesa-libglapi0 +libXvMC_nouveau +libXvMC_r300 +libXvMC_r600 +libXvMC_softpipe +libvdpau_nouveau +libvdpau_r300 +libvdpau_r600 +libvdpau_softpipe diff --git a/u_remove-os-abi-tag.patch b/u_remove-os-abi-tag.patch new file mode 100644 index 0000000..21ec462 --- /dev/null +++ b/u_remove-os-abi-tag.patch @@ -0,0 +1,76 @@ +Author: Stefan Dirsch +Subject: Remove OS ABI tag from libGL, so it is no longer preferred over libGLs without OS ABI tag +References: bnc#765294, fdo#26663 + +diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86-64_asm.py mesa-8.0.3/src/mapi/glapi/gen/gl_x86-64_asm.py +--- mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86-64_asm.py 2012-06-12 12:07:39.000000000 +0200 ++++ mesa-8.0.3/src/mapi/glapi/gen/gl_x86-64_asm.py 2012-06-12 12:09:17.000000000 +0200 +@@ -181,7 +181,7 @@ class PrintGenericStubs(gl_XML.gl_print_ + + def printRealFooter(self): + print '' +- print '#if defined(GLX_USE_TLS) && defined(__linux__)' ++ print '#if 0 && defined(__linux__)' + print ' .section ".note.ABI-tag", "a"' + print ' .p2align 2' + print ' .long 1f - 0f /* name length */' +diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86_asm.py mesa-8.0.3/src/mapi/glapi/gen/gl_x86_asm.py +--- mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86_asm.py 2012-06-12 12:07:39.000000000 +0200 ++++ mesa-8.0.3/src/mapi/glapi/gen/gl_x86_asm.py 2012-06-12 12:09:29.000000000 +0200 +@@ -189,7 +189,7 @@ class PrintGenericStubs(gl_XML.gl_print_ + print '\t\tALIGNTEXT16' + print 'GLNAME(gl_dispatch_functions_end):' + print '' +- print '#if defined(GLX_USE_TLS) && defined(__linux__)' ++ print '#if 0 && defined(__linux__)' + print ' .section ".note.ABI-tag", "a"' + print ' .p2align 2' + print ' .long 1f - 0f /* name length */' +diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/glapi_x86-64.S mesa-8.0.3/src/mapi/glapi/glapi_x86-64.S +--- mesa-8.0.3.orig//src/mapi/glapi/glapi_x86-64.S 2012-06-12 12:07:39.000000000 +0200 ++++ mesa-8.0.3/src/mapi/glapi/glapi_x86-64.S 2012-06-12 12:09:43.000000000 +0200 +@@ -37448,7 +37448,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES): + .globl GL_PREFIX(TransformFeedbackVaryings) ; .set GL_PREFIX(TransformFeedbackVaryings), GL_PREFIX(TransformFeedbackVaryingsEXT) + .globl GL_PREFIX(ProvokingVertex) ; .set GL_PREFIX(ProvokingVertex), GL_PREFIX(ProvokingVertexEXT) + +-#if defined(GLX_USE_TLS) && defined(__linux__) ++#if 0 && defined(__linux__) + .section ".note.ABI-tag", "a" + .p2align 2 + .long 1f - 0f /* name length */ +diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/glapi_x86.S mesa-8.0.3/src/mapi/glapi/glapi_x86.S +--- mesa-8.0.3.orig//src/mapi/glapi/glapi_x86.S 2012-06-12 12:07:39.000000000 +0200 ++++ mesa-8.0.3/src/mapi/glapi/glapi_x86.S 2012-06-12 12:09:01.000000000 +0200 +@@ -1504,7 +1504,7 @@ GLNAME(gl_dispatch_functions_start): + ALIGNTEXT16 + GLNAME(gl_dispatch_functions_end): + +-#if defined(GLX_USE_TLS) && defined(__linux__) ++#if 0 && defined(__linux__) + .section ".note.ABI-tag", "a" + .p2align 2 + .long 1f - 0f /* name length */ +diff -u -r -p mesa-8.0.3.orig//src/mapi/mapi/entry_x86-64_tls.h mesa-8.0.3/src/mapi/mapi/entry_x86-64_tls.h +--- mesa-8.0.3.orig//src/mapi/mapi/entry_x86-64_tls.h 2012-06-12 12:07:39.000000000 +0200 ++++ mesa-8.0.3/src/mapi/mapi/entry_x86-64_tls.h 2012-06-12 12:10:20.000000000 +0200 +@@ -28,7 +28,7 @@ + + #include "u_macros.h" + +-#ifdef __linux__ ++#if 0 + __asm__(".section .note.ABI-tag, \"a\"\n\t" + ".p2align 2\n\t" + ".long 1f - 0f\n\t" /* name length */ +diff -u -r -p mesa-8.0.3.orig//src/mapi/mapi/entry_x86_tls.h mesa-8.0.3/src/mapi/mapi/entry_x86_tls.h +--- mesa-8.0.3.orig//src/mapi/mapi/entry_x86_tls.h 2012-06-12 12:07:39.000000000 +0200 ++++ mesa-8.0.3/src/mapi/mapi/entry_x86_tls.h 2012-06-12 12:10:32.000000000 +0200 +@@ -29,7 +29,7 @@ + #include + #include "u_macros.h" + +-#ifdef __linux__ ++#if 0 + __asm__(".section .note.ABI-tag, \"a\"\n\t" + ".p2align 2\n\t" + ".long 1f - 0f\n\t" /* name length */