From 2c716bd7b217cfe7089f2b3eee8b88b0de4fe8cd8eaffba27378d4c87d38e602 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Tue, 21 Feb 2012 10:57:47 +0000 Subject: [PATCH 1/6] Accepting request 106291 from home:jengelh:branches:X11:XOrg Let's try this one OBS-URL: https://build.opensuse.org/request/show/106291 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=191 --- Mesa-rpmlintrc | 2 + Mesa.changes | 5 + Mesa.spec | 346 ++++++++++++++++++++++++++++++++++++++++++++----- baselibs.conf | 47 ++++++- 4 files changed, 366 insertions(+), 34 deletions(-) create mode 100644 Mesa-rpmlintrc 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..79152ed 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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..345ec84 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -72,6 +72,7 @@ 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 @@ -95,16 +96,227 @@ 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 libOSMesa7 +Summary: Mesa Off-screen rendering extension +Group: System/Libraries + +%description -n libOSMesa7 +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. %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, Mesa-libEGL-devel = %version +Requires: Mesa-libGL-devel = %version, Mesa-libGLESv1_CM-devel = %version +Requires: Mesa-libGLESv2-devel = %version, Mesa-libGLU-devel = %version +Requires: Mesa-libIndirectGL1 = %version, libOSMesa7 = %version +Requires: libgbm-devel, Mesa-libglapi0 = %version # bug437293 %ifarch ppc64 Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} @@ -215,42 +427,118 @@ 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 libOSMesa7 -p /sbin/ldconfig +%postun -n libOSMesa7 -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 libOSMesa7 +%defattr(-,root,root) +%_libdir/libOSMesa.so.7* + +%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/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 From 25109971123db0670058126e412f27a74c2ad901e88c62235cb2108b5cde0148 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Tue, 21 Feb 2012 11:52:23 +0000 Subject: [PATCH 2/6] - added irrelevant white spaces OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=192 --- Mesa.spec | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Mesa.spec b/Mesa.spec index 345ec84..2914df5 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -428,24 +428,43 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc %fdupes -s $RPM_BUILD_ROOT/%_mandir %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 libOSMesa7 -p /sbin/ldconfig + %postun -n libOSMesa7 -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 From 228d28d76ca8b79b2a8049a970b63bdc9e5ccded3486043ce816e21f5c0cdcc3 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Tue, 21 Feb 2012 23:59:17 +0000 Subject: [PATCH 3/6] Accepting request 106364 from home:coolo:branches:openSUSE:Factory - 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. OBS-URL: https://build.opensuse.org/request/show/106364 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=193 --- Mesa.changes | 8 +++++ Mesa.spec | 91 +++++++++++++++++++++++++++------------------------- 2 files changed, 56 insertions(+), 43 deletions(-) diff --git a/Mesa.changes b/Mesa.changes index 79152ed..31c6b72 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +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 diff --git a/Mesa.spec b/Mesa.spec index 2914df5..7144207 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -19,10 +19,9 @@ # %define _version 7.11.1 +Name: Mesa Version: 7.11.1 Release: 0 - -Name: Mesa BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: bison @@ -55,13 +54,18 @@ BuildRequires: pkgconfig(xxf86vm) BuildRequires: llvm-devel %endif 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 @@ -96,6 +100,45 @@ just Mesa or The Mesa 3-D graphics library. * OpenGL is a trademark of Silicon Graphics Incorporated. +%package 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: libOSMesa7 = %version +Requires: Mesa-libglapi0 = %version +Requires: libgbm-devel +# bug437293 +%ifarch ppc64 +Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} +Provides: Mesa-devel-64bit = %{version} +Provides: XFree86-Mesa-devel-64bit = %{version} +%endif +# +Provides: Mesa-devel-static = %{version} +Provides: xorg-x11-Mesa-devel = %{version} +Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version} + +%description devel +Mesa is a 3-D graphics library with an API which is very similar to +that of OpenGL.* To the extent that Mesa utilizes the OpenGL command +syntax or state machine, it is being used with authorization from +Silicon Graphics, Inc.(SGI). However, the author does not possess an +OpenGL license from SGI, and makes no claim that Mesa is in any way a +compatible replacement for OpenGL or associated with SGI. Those who +want a licensed implementation of OpenGL should contact a licensed +vendor. + +Please do not refer to the library as MesaGL (for legal reasons). It's +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 @@ -309,44 +352,6 @@ 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. -%package devel -Summary: Libraries, includes and more to develop Mesa applications -Group: Development/Libraries/X11 -Requires: Mesa = %version, Mesa-libEGL-devel = %version -Requires: Mesa-libGL-devel = %version, Mesa-libGLESv1_CM-devel = %version -Requires: Mesa-libGLESv2-devel = %version, Mesa-libGLU-devel = %version -Requires: Mesa-libIndirectGL1 = %version, libOSMesa7 = %version -Requires: libgbm-devel, Mesa-libglapi0 = %version -# bug437293 -%ifarch ppc64 -Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} -Provides: XFree86-Mesa-devel-64bit = %{version} Mesa-devel-64bit = %{version} -%endif -# -Provides: xorg-x11-Mesa-devel = %{version} Mesa-devel-static = %{version} -Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version} - -%description devel -Mesa is a 3-D graphics library with an API which is very similar to -that of OpenGL.* To the extent that Mesa utilizes the OpenGL command -syntax or state machine, it is being used with authorization from -Silicon Graphics, Inc.(SGI). However, the author does not possess an -OpenGL license from SGI, and makes no claim that Mesa is in any way a -compatible replacement for OpenGL or associated with SGI. Those who -want a licensed implementation of OpenGL should contact a licensed -vendor. - -Please do not refer to the library as MesaGL (for legal reasons). It's -just Mesa or The Mesa 3-D graphics library. - -* OpenGL is a trademark of Silicon Graphics Incorporated. - - - -Authors: --------- - Brian Paul - %prep %setup -n %{name}-%{_version} -b4 -q # no need to build (GLUT-)Demos From 29e6d6702c899279ca200677bfb90cdda62869c9ce42e5be43cce5d1bb2dee26 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 22 Feb 2012 14:21:14 +0000 Subject: [PATCH 4/6] - readded build of non-gallium nouveau driver ("nouveau_vieux") to support again older NVIDIA GPUs OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=194 --- Mesa.changes | 6 ++++++ Mesa.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Mesa.changes b/Mesa.changes index 31c6b72..6954b79 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +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 diff --git a/Mesa.spec b/Mesa.spec index 7144207..2f9bda8 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -381,7 +381,7 @@ autoreconf -fi --enable-shared-glapi \ --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=i810,i915,i965,mach64,r128,r200,radeon,sis,tdfx,unichrome,swrast,mga,nouveau \ %if 0%{?suse_version} >= 1130 --with-gallium-drivers=r300,r600,nouveau \ %else From 37470a524120c99a0d6244724c8f0fce598ba4dd3d2940d3d5d7a46e002b3382 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 22 Feb 2012 15:27:37 +0000 Subject: [PATCH 5/6] Accepting request 106492 from home:jengelh:branches:X11:XOrg - use --enable-shared-dricore, saves ~33 MB OBS-URL: https://build.opensuse.org/request/show/106492 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=195 --- Mesa.changes | 5 +++++ Mesa.spec | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Mesa.changes b/Mesa.changes index 6954b79..05dc1dd 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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 diff --git a/Mesa.spec b/Mesa.spec index 2f9bda8..19cb693 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - # %define _version 7.11.1 @@ -379,9 +378,10 @@ autoreconf -fi --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,nouveau \ + --with-dri-drivers=i810,i915,i965,mach64,nouveau,r128,r200,radeon,sis,tdfx,unichrome,swrast,mga \ %if 0%{?suse_version} >= 1130 --with-gallium-drivers=r300,r600,nouveau \ %else @@ -389,7 +389,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=i810,i915,i965,mach64,nouveau,r128,r200,radeon,tdfx,unichrome,swrast \ %if 0%{?suse_version} >= 1130 --with-gallium-drivers=r300,r600,nouveau \ %else From 14047b1d59516ba433f6c726c8ff460baad5716b4b71ac69e908e60e08369656 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Thu, 23 Feb 2012 13:38:22 +0000 Subject: [PATCH 6/6] - 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?) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=196 --- Mesa-llvm-3.0.patch | 105 --------- Mesa.changes | 24 ++ Mesa.spec | 33 ++- MesaLib-7.11.1.tar.bz2 | 3 - MesaLib-8.0.1.tar.bz2 | 3 + U_Mesa-7.11-llvm3.patch | 218 ------------------ ...GLX-with-SWrast-enabled-work-on-olde.patch | 32 --- 7 files changed, 41 insertions(+), 377 deletions(-) delete mode 100644 Mesa-llvm-3.0.patch delete mode 100644 MesaLib-7.11.1.tar.bz2 create mode 100644 MesaLib-8.0.1.tar.bz2 delete mode 100644 U_Mesa-7.11-llvm3.patch delete mode 100644 u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch 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.changes b/Mesa.changes index 05dc1dd..f93ffb1 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +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 diff --git a/Mesa.spec b/Mesa.spec index 19cb693..a230057 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -15,11 +15,12 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + # -%define _version 7.11.1 +%define _version 8.0.1 Name: Mesa -Version: 7.11.1 +Version: 8.0.1 Release: 0 BuildRequires: autoconf >= 2.59 BuildRequires: automake @@ -52,6 +53,7 @@ BuildRequires: pkgconfig(xxf86vm) %ifarch %ix86 x86_64 BuildRequires: llvm-devel %endif +BuildRequires: vim Url: http://www.mesa3d.org Provides: Mesa7 = %{version} Obsoletes: Mesa7 < %{version} @@ -77,11 +79,8 @@ 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 @@ -109,7 +108,7 @@ Requires: Mesa-libGLESv1_CM-devel = %version Requires: Mesa-libGLESv2-devel = %version Requires: Mesa-libGLU-devel = %version Requires: Mesa-libIndirectGL1 = %version -Requires: libOSMesa7 = %version +Requires: libOSMesa8 = %version Requires: Mesa-libglapi0 = %version Requires: libgbm-devel # bug437293 @@ -300,11 +299,11 @@ 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 libOSMesa7 +%package -n libOSMesa8 Summary: Mesa Off-screen rendering extension Group: System/Libraries -%description -n libOSMesa7 +%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. @@ -359,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 @@ -371,7 +367,6 @@ 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 \ @@ -381,7 +376,7 @@ autoreconf -fi --enable-shared-dricore \ --with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri \ %ifarch %ix86 x86_64 - --with-dri-drivers=i810,i915,i965,mach64,nouveau,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 @@ -389,7 +384,7 @@ autoreconf -fi %endif %endif %ifarch ppc ppc64 %sparc hppa - --with-dri-drivers=i810,i915,i965,mach64,nouveau,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 @@ -460,9 +455,9 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc %postun -n Mesa-libIndirectGL1 -p /sbin/ldconfig -%post -n libOSMesa7 -p /sbin/ldconfig +%post -n libOSMesa8 -p /sbin/ldconfig -%postun -n libOSMesa7 -p /sbin/ldconfig +%postun -n libOSMesa8 -p /sbin/ldconfig %post -n libgbm1 -p /sbin/ldconfig @@ -539,9 +534,9 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc %defattr(-,root,root) %_libdir/libIndirectGL.so.1* -%files -n libOSMesa7 +%files -n libOSMesa8 %defattr(-,root,root) -%_libdir/libOSMesa.so.7* +%_libdir/libOSMesa.so.8* %files -n libgbm1 %defattr(-,root,root) 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/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 -