diff --git a/Mesa-llvm-3.0.patch b/Mesa-llvm-3.0.patch deleted file mode 100644 index b675c7a..0000000 --- a/Mesa-llvm-3.0.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp -index 29dfb86..f44749d 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp -+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp -@@ -27,17 +27,23 @@ - - #include - #include --#include --#include - #include - #include - #include - -+#if HAVE_LLVM >= 0x0300 -+#include -+#include -+#else /* HAVE_LLVM < 0x0300 */ -+#include -+#include -+#endif /* HAVE_LLVM < 0x0300 */ -+ - #if HAVE_LLVM >= 0x0209 - #include --#else -+#else /* HAVE_LLVM < 0x0209 */ - #include --#endif -+#endif /* HAVE_LLVM < 0x0209 */ - - #if HAVE_LLVM >= 0x0207 - #include -@@ -193,14 +199,23 @@ lp_disassemble(const void* func) - - InitializeAllDisassemblers(); - -+#if HAVE_LLVM >= 0x0300 -+ OwningPtr AsmInfo(T->createMCAsmInfo(Triple)); -+#else - OwningPtr AsmInfo(T->createAsmInfo(Triple)); -+#endif - - if (!AsmInfo) { - debug_printf("error: no assembly info for target %s\n", Triple.c_str()); - return; - } - -+#if HAVE_LLVM >= 0x0300 -+ const MCSubtargetInfo *STI = T->createMCSubtargetInfo(Triple, sys::getHostCPUName(), ""); -+ OwningPtr DisAsm(T->createMCDisassembler(*STI)); -+#else - OwningPtr DisAsm(T->createMCDisassembler()); -+#endif - if (!DisAsm) { - debug_printf("error: no disassembler for target %s\n", Triple.c_str()); - return; -@@ -213,7 +228,11 @@ lp_disassemble(const void* func) - #else - int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); - #endif --#if HAVE_LLVM >= 0x0208 -+ -+#if HAVE_LLVM >= 0x0300 -+ OwningPtr Printer( -+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI)); -+#elif HAVE_LLVM >= 0x0208 - OwningPtr Printer( - T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo)); - #else -@@ -253,7 +272,11 @@ lp_disassemble(const void* func) - - if (!DisAsm->getInstruction(Inst, Size, memoryObject, - pc, -- nulls())) { -+#if HAVE_LLVM >= 0x0300 -+ nulls(), nulls())) { -+#else -+ nulls())) { -+#endif - debug_printf("invalid\n"); - pc += 1; - } -@@ -276,7 +299,9 @@ lp_disassemble(const void* func) - * Print the instruction. - */ - --#if HAVE_LLVM >= 0x208 -+#if HAVE_LLVM >= 0x0300 -+ Printer->printInst(&Inst, Out, ""); -+#elif HAVE_LLVM >= 0x208 - Printer->printInst(&Inst, Out); - #else - Printer->printInst(&Inst); -@@ -289,7 +314,11 @@ - - pc += Size; - -+#if HAVE_LLVM >= 0x0300 -+ const MCInstrDesc &TID = TII->get(Inst.getOpcode()); -+#else - const TargetInstrDesc &TID = TII->get(Inst.getOpcode()); -+#endif - - /* - * Keep track of forward jumps to a nearby address. diff --git a/Mesa-rpmlintrc b/Mesa-rpmlintrc new file mode 100644 index 0000000..c8e2b56 --- /dev/null +++ b/Mesa-rpmlintrc @@ -0,0 +1,2 @@ +# Want to allow for multiple vendors +addFilter("shlib-policy-name-error") diff --git a/Mesa.changes b/Mesa.changes index cca9f83..f93ffb1 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Thu Feb 23 10:57:09 UTC 2012 - sndirsch@suse.com + +- Update to Mesa 8.0.1 + * Removed all DRI drivers that did not support DRI2. + Specifically, i810, mach64, mga, r128, savage, sis, tdfx, and + unichrome were removed. + * Removed all remnants of paletted texture support. As required + by desktop OpenGL, GL_COLOR_INDEX data can still be uploaded + to a color (e.g., RGBA) texture. However, the data cannot be + stored internally as color-index. + * Removed support for GL_APPLE_client_storage extension. + * Removed the classic Mesa r300 and r600 drivers, which are + superseded by the gallium drivers for this hardware. + * Removed the dead Gallium i965, cell and failover drivers, + which were either broken and with nobody in sight to fix + the situation or deprecated. +- obsoletes u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch + (git commit #63a6fd6603574c1c01324fbeb0863e39d3864c16) +- obsoletes U_Mesa-7.11-llvm3.patch +- obsoletes Mesa-llvm-3.0.patch +- disabled u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch + for now (obsolete as well?) + +------------------------------------------------------------------- +Wed Feb 22 14:27:44 UTC 2012 - jengelh@medozas.de + +- use --enable-shared-dricore, saves ~33 MB + +------------------------------------------------------------------- +Wed Feb 22 14:14:56 UTC 2012 - sndirsch@suse.com + +- readded build of non-gallium nouveau driver ("nouveau_vieux") to + support again older NVIDIA GPUs + +------------------------------------------------------------------- +Tue Feb 21 19:53:03 UTC 2012 - coolo@suse.com + +- fix requires of devel package in moving the %package before the + other packages that have custom versions. + %version in rpm is tricky - it's the _last_ version before the + macro, not the main one. + +------------------------------------------------------------------- +Tue Feb 21 03:57:14 UTC 2012 - jengelh@medozas.de + +- Split shared libraries per shlib pol. + ------------------------------------------------------------------- Sun Feb 12 19:24:03 UTC 2012 - jengelh@medozas.de diff --git a/Mesa.spec b/Mesa.spec index 4f1ec20..a230057 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -17,12 +17,11 @@ # -%define _version 7.11.1 - -Version: 7.11.1 -Release: 0 +%define _version 8.0.1 Name: Mesa +Version: 8.0.1 +Release: 0 BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: bison @@ -54,14 +53,20 @@ BuildRequires: pkgconfig(xxf86vm) %ifarch %ix86 x86_64 BuildRequires: llvm-devel %endif +BuildRequires: vim Url: http://www.mesa3d.org -Provides: xorg-x11-Mesa = %{version} intel-i810-Mesa = %{version} Mesa7 = %{version} -Obsoletes: xorg-x11-Mesa < %{version} intel-i810-Mesa < %{version} Mesa7 < %{version} +Provides: Mesa7 = %{version} +Obsoletes: Mesa7 < %{version} +Provides: intel-i810-Mesa = %{version} +Obsoletes: intel-i810-Mesa < %{version} +Provides: xorg-x11-Mesa = %{version} +Obsoletes: xorg-x11-Mesa < %{version} Obsoletes: Mesa-nouveau3d # bug437293 %ifarch ppc64 Obsoletes: XFree86-Mesa-64bit < %{version} Mesa-64bit < %{version} -Provides: XFree86-Mesa-64bit = %{version} Mesa-64bit < %{version} +Provides: Mesa-64bit < %{version} +Provides: XFree86-Mesa-64bit = %{version} %endif # Summary: System for rendering interactive 3-D graphics @@ -72,12 +77,10 @@ Source2: baselibs.conf Source3: README.updates Source4: manual-pages.tar.bz2 Source5: drirc +Source6: %name-rpmlintrc # to be upstreamed -Patch9: u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch # already upstream -Patch13: U_Mesa-7.11-llvm3.patch -Patch15: Mesa-llvm-3.0.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -95,23 +98,28 @@ just Mesa or The Mesa 3-D graphics library. * OpenGL is a trademark of Silicon Graphics Incorporated. - - -Authors: --------- - Brian Paul - %package devel -Requires: Mesa = %version libdrm-devel libudev-devel Summary: Libraries, includes and more to develop Mesa applications Group: Development/Libraries/X11 +Requires: Mesa = %version +Requires: Mesa-libEGL-devel = %version +Requires: Mesa-libGL-devel = %version +Requires: Mesa-libGLESv1_CM-devel = %version +Requires: Mesa-libGLESv2-devel = %version +Requires: Mesa-libGLU-devel = %version +Requires: Mesa-libIndirectGL1 = %version +Requires: libOSMesa8 = %version +Requires: Mesa-libglapi0 = %version +Requires: libgbm-devel # bug437293 %ifarch ppc64 Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} -Provides: XFree86-Mesa-devel-64bit = %{version} Mesa-devel-64bit = %{version} +Provides: Mesa-devel-64bit = %{version} +Provides: XFree86-Mesa-devel-64bit = %{version} %endif # -Provides: xorg-x11-Mesa-devel = %{version} Mesa-devel-static = %{version} +Provides: Mesa-devel-static = %{version} +Provides: xorg-x11-Mesa-devel = %{version} Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version} %description devel @@ -129,11 +137,218 @@ just Mesa or The Mesa 3-D graphics library. * OpenGL is a trademark of Silicon Graphics Incorporated. +%package -n Mesa-libEGL1 +# Kudos to Debian for the descriptions +Summary: Free implementation of the EGL API +Group: System/Libraries +%description -n Mesa-libEGL1 +This package contains the EGL native platform graphics interface +library. EGL provides a platform-agnostic mechanism for creating +rendering surfaces for use with other graphics libraries, such as +OpenGL|ES and OpenVG. -Authors: --------- - Brian Paul +This package contains modules to interface with the existing system +GLX or DRI2 drivers to provide OpenGL via EGL. The Mesa main package +provides drivers to provide hardware-accelerated OpenGL|ES and OpenVG +support. + +%package -n Mesa-libEGL-devel +Summary: Development files for the EGL API +Group: Development/Libraries/C and C++ +Requires: Mesa-libEGL1 = %version +# Other requires taken care of by pkgconfig already + +%description -n Mesa-libEGL-devel +This package contains the development environment required for +compiling programs against EGL native platform graphics interface +library. EGL provides a platform-agnostic mechanism for creating +rendering surfaces for use with other graphics libraries, such as +OpenGL|ES and OpenVG. + +This package provides the development environment for compiling +programs against the EGL library. + +%package -n Mesa-libGL1 +Summary: The GL/GLX runtime of the Mesa 3D graphics library +Group: System/Libraries + +%description -n Mesa-libGL1 +Mesa is a software library for 3D computer graphics that provides a +generic OpenGL implementation for rendering three-dimensional +graphics. + +GLX ("OpenGL Extension to the X Window System") provides the +interface connecting OpenGL and the X Window System: it enables +programs wishing to use OpenGL to do so within a window provided by +the X Window System. + +%package -n Mesa-libGL-devel +Summary: GL/GLX development files of the OpenGL API +Group: Development/Libraries/C and C++ +Requires: Mesa-libGL1 = %version + +%description -n Mesa-libGL-devel +Mesa is a software library for 3D computer graphics that provides a +generic OpenGL implementation for rendering three-dimensional +graphics. + +This package includes headers and static libraries for compiling +programs with Mesa. + +%package -n Mesa-libGLESv1_CM1 +Summary: Free implementation of the OpenGL|ES 1.x API +Group: System/Libraries + +%description -n Mesa-libGLESv1_CM1 +OpenGL|ES is a cross-platform API for full-function 2D and 3D +graphics on embedded systems - including consoles, phones, appliances +and vehicles. It contains a subset of OpenGL plus a number of +extensions for the special needs of embedded systems. + +OpenGL|ES 1.x provides an API for fixed-function hardware. + +%package -n Mesa-libGLESv1_CM-devel +Summary: Development files for the EGL API +Group: Development/Libraries/C and C++ +Requires: Mesa-libGLESv1_CM1 = %version +Requires: pkgconfig(egl) + +%description -n Mesa-libGLESv1_CM-devel +OpenGL|ES is a cross-platform API for full-function 2D and 3D +graphics on embedded systems - including consoles, phones, appliances +and vehicles. It contains a subset of OpenGL plus a number of +extensions for the special needs of embedded systems. + +OpenGL|ES 1.x provides an API for fixed-function hardware. + +This package provides a development environment for building programs +using the OpenGL|ES 1.x APIs. + +%package -n Mesa-libGLESv2-2 +Summary: Free implementation of the OpenGL|ES 2.x API +Group: System/Libraries + +%description -n Mesa-libGLESv2-2 +OpenGL|ES is a cross-platform API for full-function 2D and 3D +graphics on embedded systems - including consoles, phones, appliances +and vehicles. It contains a subset of OpenGL plus a number of +extensions for the special needs of embedded systems. + +OpenGL|ES 2.x provides an API for programmable hardware including +vertex and fragment shaders. + +%package -n Mesa-libGLESv2-devel +Summary: Development files for the EGL API +Group: Development/Libraries/C and C++ +Requires: Mesa-libGLESv2-2 = %version +Requires: pkgconfig(egl) + +%description -n Mesa-libGLESv2-devel +OpenGL|ES is a cross-platform API for full-function 2D and 3D +graphics on embedded systems - including consoles, phones, appliances +and vehicles. It contains a subset of OpenGL plus a number of +extensions for the special needs of embedded systems. + +OpenGL|ES 2.x provides an API for programmable hardware including +vertex and fragment shaders. + +This package provides a development environment for building +applications using the OpenGL|ES 2.x APIs. + +%package -n Mesa-libGLU1 +Summary: Mesa OpenGL utility library +Group: System/Libraries + +%description -n Mesa-libGLU1 +GLU offers simple interfaces for building mipmaps; checking for the +presence of extensions in the OpenGL (or other libraries which follow +the same conventions for advertising extensions); drawing +piecewise-linear curves, NURBS, quadrics and other primitives +(including, but not limited to, teapots); tesselating surfaces; +setting up projection matrices and unprojecting screen coordinates to +world coordinates. + +This package provides the SGI implementation of GLU shipped with the +Mesa package. + +%package -n Mesa-libGLU-devel +Summary: Development files for the EGL API +Group: Development/Libraries/C and C++ +Requires: Mesa-libGLU1 = %version + +%description -n Mesa-libGLU-devel +GLU offers simple interfaces for building mipmaps; checking for the +presence of extensions in the OpenGL (or other libraries which follow +the same conventions for advertising extensions); drawing +piecewise-linear curves, NURBS, quadrics and other primitives +(including, but not limited to, teapots); tesselating surfaces; +setting up projection matrices and unprojecting screen coordinates to +world coordinates. + +This package contains includes headers and static libraries for +compiling programs with GLU. + +%package -n Mesa-libIndirectGL1 +# This is the equivalent to Debian's libgl1-mesa-swx11 +Summary: Free implementation of the OpenGL API +Group: System/Libraries + +%description -n Mesa-libIndirectGL1 +This library provides a pure software rasterizer; it does not provide +a direct rendering capable library, or one which uses GLX. For that, +please see Mesa-libGL1. + +%package -n libOSMesa8 +Summary: Mesa Off-screen rendering extension +Group: System/Libraries + +%description -n libOSMesa8 +OSmesa is a Mesa extension that allows programs to render to an +off-screen buffer using the OpenGL API without having to create a +rendering context on an X Server. It uses a pure software renderer. + +%package -n libgbm1 +Summary: Generic buffer management API +Group: System/Libraries +# as per gbm.pc +Version: 0.0.0 +Release: 0 + +%description -n libgbm1 +This package contains the GBM buffer management library. It provides +a mechanism for allocating buffers for graphics rendering tied to +Mesa. + +GBM is intended to be used as a native platform for EGL on drm or +openwfd. + +%package -n libgbm-devel +Summary: Development files for the EGL API +Group: Development/Libraries/C and C++ +Version: 0.0.0 +Release: 0 +Requires: libgbm1 = %version + +%description -n libgbm-devel +This package contains the GBM buffer management library. It provides +a mechanism for allocating buffers for graphics rendering tied to +Mesa. + +GBM is intended to be used as a native platform for EGL on drm or +openwfd. + +This package provides the development environment for compiling +programs against the GBM library. + +%package -n Mesa-libglapi0 +Summary: Free implementation of the GL API +Group: System/Libraries + +%description -n Mesa-libglapi0 +The Mesa GL API module is responsible for dispatching all the gl* +functions. It is intended to be mainly used by the Mesa-libGLES* +packages. %prep %setup -n %{name}-%{_version} -b4 -q @@ -143,10 +358,7 @@ rm -rf src/glut progs/{demos,redbook,samples,xdemos,glsl} rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h} # remove some docs rm -rf docs/README.{VMS,WIN32,OS2} -%patch9 -p1 -%patch11 -p1 -%patch13 -p0 -%patch15 -p1 +#%patch11 -p1 %build @@ -155,16 +367,16 @@ rm -f src/mesa/depend export TALLOC_LIBS=-ltalloc export TALLOC_CFLAGS="-I/usr/include" autoreconf -fi -### libGL (disable savage/mga, bnc #402132/#403071; reenable mga, bnc #466635) %configure --disable-glw \ --enable-gles1 \ --enable-gles2 \ --with-driver=dri \ --with-egl-platforms=x11,drm \ --enable-shared-glapi \ + --enable-shared-dricore \ --with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri \ %ifarch %ix86 x86_64 - --with-dri-drivers=i810,i915,i965,mach64,r128,r200,radeon,sis,tdfx,unichrome,swrast,mga \ + --with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast \ %if 0%{?suse_version} >= 1130 --with-gallium-drivers=r300,r600,nouveau \ %else @@ -172,7 +384,7 @@ autoreconf -fi %endif %endif %ifarch ppc ppc64 %sparc hppa - --with-dri-drivers=i810,i915,i965,mach64,r128,r200,radeon,tdfx,unichrome,swrast \ + --with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast \ %if 0%{?suse_version} >= 1130 --with-gallium-drivers=r300,r600,nouveau \ %else @@ -215,42 +427,137 @@ mkdir -p $RPM_BUILD_ROOT/etc install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc %fdupes -s $RPM_BUILD_ROOT/%_mandir -%post -p /sbin/ldconfig +%post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%post -n Mesa-libEGL1 -p /sbin/ldconfig + +%postun -n Mesa-libEGL1 -p /sbin/ldconfig + +%post -n Mesa-libGL1 -p /sbin/ldconfig + +%postun -n Mesa-libGL1 -p /sbin/ldconfig + +%post -n Mesa-libGLESv1_CM1 -p /sbin/ldconfig + +%postun -n Mesa-libGLESv1_CM1 -p /sbin/ldconfig + +%post -n Mesa-libGLESv2-2 -p /sbin/ldconfig + +%postun -n Mesa-libGLESv2-2 -p /sbin/ldconfig + +%post -n Mesa-libGLU1 -p /sbin/ldconfig + +%postun -n Mesa-libGLU1 -p /sbin/ldconfig + +%post -n Mesa-libIndirectGL1 -p /sbin/ldconfig + +%postun -n Mesa-libIndirectGL1 -p /sbin/ldconfig + +%post -n libOSMesa8 -p /sbin/ldconfig + +%postun -n libOSMesa8 -p /sbin/ldconfig + +%post -n libgbm1 -p /sbin/ldconfig + +%postun -n libgbm1 -p /sbin/ldconfig + +%post -n Mesa-libglapi0 -p /sbin/ldconfig + +%postun -n Mesa-libglapi0 -p /sbin/ldconfig + %files %defattr(-,root,root) %doc docs/README* docs/COPYING %config /etc/drirc -%{_libdir}/lib*.so.* %{_libdir}/dri/ #%{_libdir}/egl/ +%files -n Mesa-libEGL1 +%defattr(-,root,root) +%_libdir/libEGL.so.1* + +%files -n Mesa-libEGL-devel +%defattr(-,root,root) +%_includedir/EGL +%_includedir/KHR +%_libdir/libEGL.so +%_libdir/pkgconfig/egl.pc + +%files -n Mesa-libGL1 +%defattr(-,root,root) +%_libdir/libGL.so.1* + +%files -n Mesa-libGL-devel +%defattr(-,root,root) +%dir %_includedir/GL +%_includedir/GL/*.h +%exclude %_includedir/GL/glu*.h +%_libdir/libGL.so +%_libdir/pkgconfig/gl.pc +%_mandir/man3/gl[A-Z]* + +%files -n Mesa-libGLESv1_CM1 +%defattr(-,root,root) +%_libdir/libGLESv1_CM.so.1* + +%files -n Mesa-libGLESv1_CM-devel +%defattr(-,root,root) +%_includedir/GLES +%_libdir/libGLESv1_CM.so +%_libdir/pkgconfig/glesv1_cm.pc + +%files -n Mesa-libGLESv2-2 +%defattr(-,root,root) +%_libdir/libGLESv2.so.2* + +%files -n Mesa-libGLESv2-devel +%defattr(-,root,root) +%_includedir/GLES2 +%_libdir/libGLESv2.so +%_libdir/pkgconfig/glesv2.pc + +%files -n Mesa-libGLU1 +%defattr(-,root,root) +%_libdir/libGLU.so.1* + +%files -n Mesa-libGLU-devel +%defattr(-,root,root) +%dir %_includedir/GL +%_includedir/GL/glu*.h +%_libdir/libGLU.so +%_libdir/pkgconfig/glu.pc +%_mandir/man3/glu* + +%files -n Mesa-libIndirectGL1 +%defattr(-,root,root) +%_libdir/libIndirectGL.so.1* + +%files -n libOSMesa8 +%defattr(-,root,root) +%_libdir/libOSMesa.so.8* + +%files -n libgbm1 +%defattr(-,root,root) +%_libdir/libgbm.so.1* + +%files -n libgbm-devel +%defattr(-,root,root) +%_includedir/gbm.h +%_libdir/libgbm.so +%_libdir/pkgconfig/gbm.pc + +%files -n Mesa-libglapi0 +%defattr(-,root,root) +%_libdir/libglapi.so.0* + %files devel %defattr(-,root,root) %doc docs/*.html docs/*.spec -%{_includedir}/GL -%{_includedir}/GLES -%{_includedir}/GLES2 -%{_includedir}/EGL -%{_includedir}/KHR -%{_includedir}/gbm.h -%{_libdir}/libGL.so -%{_libdir}/libGLU.so -%{_libdir}/libOSMesa.so -%{_libdir}/libEGL.so -%{_libdir}/libGLESv1_CM.so -%{_libdir}/libGLESv2.so -%{_libdir}/libglapi.so -%{_libdir}/libgbm.so -%{_libdir}/pkgconfig/dri.pc -%{_libdir}/pkgconfig/egl.pc -%{_libdir}/pkgconfig/gl.pc -%{_libdir}/pkgconfig/glu.pc -%{_libdir}/pkgconfig/glesv1_cm.pc -%{_libdir}/pkgconfig/glesv2.pc -%{_libdir}/pkgconfig/gbm.pc -%{_mandir}/man3/* +%_includedir/GL/internal +%_libdir/libOSMesa.so +%_libdir/libglapi.so +%_libdir/pkgconfig/dri.pc %changelog diff --git a/MesaLib-7.11.1.tar.bz2 b/MesaLib-7.11.1.tar.bz2 deleted file mode 100644 index 685046b..0000000 --- a/MesaLib-7.11.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0dbc1c12434caa25f52e398053a97515aa67a81b9e7fe621572835fb61b08fc4 -size 6662652 diff --git a/MesaLib-8.0.1.tar.bz2 b/MesaLib-8.0.1.tar.bz2 new file mode 100644 index 0000000..9db5ee2 --- /dev/null +++ b/MesaLib-8.0.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:593af02ea2b5b7afb057a12c550f2c03b1d1cf59a716972d601c1499545ea0a7 +size 5694019 diff --git a/U_Mesa-7.11-llvm3.patch b/U_Mesa-7.11-llvm3.patch deleted file mode 100644 index 137fcc8..0000000 --- a/U_Mesa-7.11-llvm3.patch +++ /dev/null @@ -1,218 +0,0 @@ -Makes Mesa work with LLVM3 (also pre-releases). - -Included in Mesa in post-11.7 -Index: src/gallium/auxiliary/gallivm/lp_bld_type.c -=================================================================== ---- src/gallium/auxiliary/gallivm/lp_bld_type.c.orig -+++ src/gallium/auxiliary/gallivm/lp_bld_type.c -@@ -325,8 +325,10 @@ lp_typekind_name(LLVMTypeKind t) - return "LLVMArrayTypeKind"; - case LLVMPointerTypeKind: - return "LLVMPointerTypeKind"; -+#if HAVE_LLVM < 0x0300 - case LLVMOpaqueTypeKind: - return "LLVMOpaqueTypeKind"; -+#endif - case LLVMVectorTypeKind: - return "LLVMVectorTypeKind"; - case LLVMMetadataTypeKind: -Index: src/gallium/auxiliary/draw/draw_llvm.c -=================================================================== ---- src/gallium/auxiliary/draw/draw_llvm.c.orig -+++ src/gallium/auxiliary/draw/draw_llvm.c -@@ -96,7 +96,7 @@ draw_llvm_generate_elts(struct draw_llvm - * Create LLVM type for struct draw_jit_texture - */ - static LLVMTypeRef --create_jit_texture_type(struct gallivm_state *gallivm) -+create_jit_texture_type(struct gallivm_state *gallivm, const char *struct_name) - { - LLVMTargetDataRef target = gallivm->target; - LLVMTypeRef texture_type; -@@ -120,13 +120,21 @@ create_jit_texture_type(struct gallivm_s - elem_types[DRAW_JIT_TEXTURE_BORDER_COLOR] = - LLVMArrayType(LLVMFloatTypeInContext(gallivm->context), 4); - -+#if HAVE_LLVM >= 0x0300 -+ texture_type = LLVMStructCreateNamed(gallivm->context, struct_name); -+ LLVMStructSetBody(texture_type, elem_types, -+ Elements(elem_types), 0); -+#else - texture_type = LLVMStructTypeInContext(gallivm->context, elem_types, - Elements(elem_types), 0); - -+ LLVMAddTypeName(gallivm->module, struct_name, texture_type); -+ - /* Make sure the target's struct layout cache doesn't return - * stale/invalid data. - */ - LLVMInvalidateStructLayout(gallivm->target, texture_type); -+#endif - - LP_CHECK_MEMBER_OFFSET(struct draw_jit_texture, width, - target, texture_type, -@@ -176,7 +184,7 @@ create_jit_texture_type(struct gallivm_s - */ - static LLVMTypeRef - create_jit_context_type(struct gallivm_state *gallivm, -- LLVMTypeRef texture_type) -+ LLVMTypeRef texture_type, const char *struct_name) - { - LLVMTargetDataRef target = gallivm->target; - LLVMTypeRef float_type = LLVMFloatTypeInContext(gallivm->context); -@@ -189,11 +197,17 @@ create_jit_context_type(struct gallivm_s - elem_types[3] = LLVMPointerType(float_type, 0); /* viewport */ - elem_types[4] = LLVMArrayType(texture_type, - PIPE_MAX_VERTEX_SAMPLERS); /* textures */ -- -+#if HAVE_LLVM >= 0x0300 -+ context_type = LLVMStructCreateNamed(gallivm->context, struct_name); -+ LLVMStructSetBody(context_type, elem_types, -+ Elements(elem_types), 0); -+#else - context_type = LLVMStructTypeInContext(gallivm->context, elem_types, - Elements(elem_types), 0); -+ LLVMAddTypeName(gallivm->module, struct_name, context_type); - - LLVMInvalidateStructLayout(gallivm->target, context_type); -+#endif - - LP_CHECK_MEMBER_OFFSET(struct draw_jit_context, vs_constants, - target, context_type, 0); -@@ -215,7 +229,7 @@ create_jit_context_type(struct gallivm_s - * Create LLVM type for struct pipe_vertex_buffer - */ - static LLVMTypeRef --create_jit_vertex_buffer_type(struct gallivm_state *gallivm) -+create_jit_vertex_buffer_type(struct gallivm_state *gallivm, const char *struct_name) - { - LLVMTargetDataRef target = gallivm->target; - LLVMTypeRef elem_types[3]; -@@ -225,10 +239,17 @@ create_jit_vertex_buffer_type(struct gal - elem_types[1] = LLVMInt32TypeInContext(gallivm->context); - elem_types[2] = LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0); /* vs_constants */ - -+#if HAVE_LLVM >= 0x0300 -+ vb_type = LLVMStructCreateNamed(gallivm->context, struct_name); -+ LLVMStructSetBody(vb_type, elem_types, -+ Elements(elem_types), 0); -+#else - vb_type = LLVMStructTypeInContext(gallivm->context, elem_types, - Elements(elem_types), 0); -+ LLVMAddTypeName(gallivm->module, struct_name, vb_type); - - LLVMInvalidateStructLayout(gallivm->target, vb_type); -+#endif - - LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, stride, - target, vb_type, 0); -@@ -258,10 +279,17 @@ create_jit_vertex_header(struct gallivm_ - elem_types[1] = LLVMArrayType(LLVMFloatTypeInContext(gallivm->context), 4); - elem_types[2] = LLVMArrayType(elem_types[1], data_elems); - -+#if HAVE_LLVM >= 0x0300 -+ vertex_header = LLVMStructCreateNamed(gallivm->context, struct_name); -+ LLVMStructSetBody(vertex_header, elem_types, -+ Elements(elem_types), 0); -+#else - vertex_header = LLVMStructTypeInContext(gallivm->context, elem_types, - Elements(elem_types), 0); -+ LLVMAddTypeName(gallivm->module, struct_name, vertex_header); - - LLVMInvalidateStructLayout(gallivm->target, vertex_header); -+#endif - - /* these are bit-fields and we can't take address of them - LP_CHECK_MEMBER_OFFSET(struct vertex_header, clipmask, -@@ -284,8 +312,6 @@ create_jit_vertex_header(struct gallivm_ - target, vertex_header, - DRAW_JIT_VERTEX_DATA); - -- LLVMAddTypeName(gallivm->module, struct_name, vertex_header); -- - return vertex_header; - } - -@@ -299,19 +325,15 @@ create_jit_types(struct draw_llvm *llvm) - struct gallivm_state *gallivm = llvm->gallivm; - LLVMTypeRef texture_type, context_type, buffer_type, vb_type; - -- texture_type = create_jit_texture_type(gallivm); -- LLVMAddTypeName(gallivm->module, "texture", texture_type); -+ texture_type = create_jit_texture_type(gallivm, "texture"); - -- context_type = create_jit_context_type(gallivm, texture_type); -- LLVMAddTypeName(gallivm->module, "draw_jit_context", context_type); -+ context_type = create_jit_context_type(gallivm, texture_type, "draw_jit_context"); - llvm->context_ptr_type = LLVMPointerType(context_type, 0); - - buffer_type = LLVMPointerType(LLVMIntTypeInContext(gallivm->context, 8), 0); -- LLVMAddTypeName(gallivm->module, "buffer", buffer_type); - llvm->buffer_ptr_type = LLVMPointerType(buffer_type, 0); - -- vb_type = create_jit_vertex_buffer_type(gallivm); -- LLVMAddTypeName(gallivm->module, "pipe_vertex_buffer", vb_type); -+ vb_type = create_jit_vertex_buffer_type(gallivm, "pipe_vertex_buffer"); - llvm->vb_ptr_type = LLVMPointerType(vb_type, 0); - } - -Index: src/gallium/drivers/llvmpipe/lp_jit.c -=================================================================== ---- src/gallium/drivers/llvmpipe/lp_jit.c.orig -+++ src/gallium/drivers/llvmpipe/lp_jit.c -@@ -68,10 +68,17 @@ lp_jit_create_types(struct llvmpipe_cont - elem_types[LP_JIT_TEXTURE_BORDER_COLOR] = - LLVMArrayType(LLVMFloatTypeInContext(lc), 4); - -+#if HAVE_LLVM >= 0x0300 -+ texture_type = LLVMStructCreateNamed(gallivm->context, "texture"); -+ LLVMStructSetBody(texture_type, elem_types, -+ Elements(elem_types), 0); -+#else - texture_type = LLVMStructTypeInContext(lc, elem_types, - Elements(elem_types), 0); -+ LLVMAddTypeName(gallivm->module, "texture", texture_type); - - LLVMInvalidateStructLayout(gallivm->target, texture_type); -+#endif - - LP_CHECK_MEMBER_OFFSET(struct lp_jit_texture, width, - gallivm->target, texture_type, -@@ -112,8 +119,6 @@ lp_jit_create_types(struct llvmpipe_cont - - LP_CHECK_STRUCT_SIZE(struct lp_jit_texture, - gallivm->target, texture_type); -- -- LLVMAddTypeName(gallivm->module, "texture", texture_type); - } - - /* struct lp_jit_context */ -@@ -129,11 +134,19 @@ lp_jit_create_types(struct llvmpipe_cont - elem_types[LP_JIT_CTX_TEXTURES] = LLVMArrayType(texture_type, - PIPE_MAX_SAMPLERS); - -+#if HAVE_LLVM >= 0x0300 -+ context_type = LLVMStructCreateNamed(gallivm->context, "context"); -+ LLVMStructSetBody(context_type, elem_types, -+ Elements(elem_types), 0); -+#else - context_type = LLVMStructTypeInContext(lc, elem_types, - Elements(elem_types), 0); - - LLVMInvalidateStructLayout(gallivm->target, context_type); - -+ LLVMAddTypeName(gallivm->module, "context", context_type); -+#endif -+ - LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, constants, - gallivm->target, context_type, - LP_JIT_CTX_CONSTANTS); -@@ -155,8 +168,6 @@ lp_jit_create_types(struct llvmpipe_cont - LP_CHECK_STRUCT_SIZE(struct lp_jit_context, - gallivm->target, context_type); - -- LLVMAddTypeName(gallivm->module, "context", context_type); -- - lp->jit_context_ptr_type = LLVMPointerType(context_type, 0); - } - diff --git a/baselibs.conf b/baselibs.conf index 5369715..339b28d 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,7 +1,44 @@ Mesa - +/usr/X11R6/lib(64)?/modules/dri/updates/README.updates - obsoletes "XFree86-Mesa- xorg-x11-Mesa-" - provides "XFree86-Mesa- xorg-x11-Mesa-" + +/usr/X11R6/lib(64)?/modules/dri/updates/README.updates + obsoletes "XFree86-Mesa- xorg-x11-Mesa-" + provides "XFree86-Mesa- xorg-x11-Mesa-" Mesa-devel - obsoletes "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" - provides "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" + #We need Mesa-!, do not put requires -Mesa-. + requires "Mesa-libEGL-devel- = " + requires "Mesa-libGL-devel- = " + requires "Mesa-libGLESv1_CM-devel- = " + requires "Mesa-libGLESv2-devel- = " + requires "Mesa-libGLU-devel- = " + requires "Mesa-libIndirectGL1- = " + requires "libOSMesa7- = " + requires "libgbm-devel-" + requires "Mesa-libglapi0- = " + obsoletes "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" + provides "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" +Mesa-libEGL1 +Mesa-libEGL-devel + requires -Mesa-libEGL- + requires "Mesa-libEGL1- = " +Mesa-libGL1 +Mesa-libGL-devel + requires -Mesa-libGL- + requires "Mesa-libGL1- = " +Mesa-libGLESv1_CM1 +Mesa-libGLESv1_CM-devel + requires -Mesa-libGLESv1_CM- + requires "Mesa-libGLESv1_CM1- = " +Mesa-libGLESv2-2 +Mesa-libGLESv2-devel + requires -Mesa-libGLESv2- + requires "Mesa-libGLESv2-2- = " +Mesa-libGLU1 +Mesa-libGLU-devel + requires -Mesa-libGLU- + requires "Mesa-libGLU1- = " +Mesa-libIndirectGL1 +libOSMesa7 +libgbm1 +libgbm-devel + requires -libgbm- + requires "libgbm1- = " +Mesa-libglapi0 diff --git a/u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch b/u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch deleted file mode 100644 index 7bf31e7..0000000 --- a/u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bb5ac44693cc6a50de068c729a089b7bdd6db4cd Mon Sep 17 00:00:00 2001 -From: Egbert Eich -Date: Thu, 9 Jun 2011 12:42:59 +0200 -Subject: [PATCH] [GLX/SWrast] Make GLX with SWrast enabled work on older Xservers. -Patch-mainline: To be upstreamed - -Older Xservers don't offer a set of configs/visuals that is compatible -with DRI. If no visuals or configs are found let driswCreateScreen() -fail so that the next fallback path is take. - -Signed-off-by: Egbert Eich ---- - src/glx/drisw_glx.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c -index 2eaa3c5..7bf29af 100644 ---- a/src/glx/drisw_glx.c -+++ b/src/glx/drisw_glx.c -@@ -490,6 +490,9 @@ driswCreateScreen(int screen, struct glx_display *priv) - psc->base.visuals = - driConvertConfigs(psc->core, psc->base.visuals, driver_configs); - -+ if (psc->base.configs == NULL || psc->base.visuals == NULL) -+ goto handle_error; -+ - psc->driver_configs = driver_configs; - - psc->base.vtable = &drisw_screen_vtable; --- -1.7.3.4 -