%bcond_without gallium # gallium drivers
%bcond_with gallium_intel # gallium i915 driver (instead of plain dri; doesn't work with AIGLX)
%bcond_without gallium_nouveau # gallium nouveau driver
+%bcond_without gallium_radeon # gallium radeon drivers
%bcond_without egl # EGL libraries
%bcond_without gbm # Graphics Buffer Manager
%bcond_without opencl # OpenCL support
%bcond_without ocl_icd # OpenCL as ICD (installable client driver)
+%bcond_without omx # OpenMAX (Bellagio OMXIL) support
%bcond_without wayland # Wayland EGL
%bcond_without xa # XA state tracker (for vmwgfx xorg driver)
%bcond_with static_libs # static libraries [not supported for DRI, thus broken currently]
# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
-%define libdrm_ver 2.4.52
+%define libdrm_ver 2.4.54
%define dri2proto_ver 2.6
%define dri3proto_ver 1.0
%define glproto_ver 1.4.14
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 10.1.0
+Version: 10.3.0
Release: 1
License: MIT (core) and others - see license.html file
Group: X11/Libraries
-Source0: ftp://ftp.freedesktop.org/pub/mesa/10.1/%{name}Lib-%{version}.tar.bz2
-# Source0-md5: 3ec43f79dbcd9aa2a4a27bf1f51655b6
-Patch0: %{name}-link.patch
+Source0: ftp://ftp.freedesktop.org/pub/mesa/10.3/%{name}Lib-%{version}.tar.bz2
+# Source0-md5: bc071575596a074df2b15cac57c01ed8
URL: http://www.mesa3d.org/
BuildRequires: autoconf >= 2.60
BuildRequires: automake
BuildRequires: libvdpau-devel >= 0.4.1
BuildRequires: libxcb-devel >= 1.10
BuildRequires: llvm-devel >= 3.3
+%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.4.2}
%{?with_opencl:BuildRequires: llvm-libclc}
%{?with_ocl_icd:BuildRequires: ocl-icd-devel}
+%{?with_omx:BuildRequires: libomxil-bellagio-devel}
BuildRequires: perl-base
BuildRequires: pixman-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(xcb-dri3)
BuildRequires: pkgconfig(xcb-present)
BuildRequires: python >= 2
-BuildRequires: python-libxml2
BuildRequires: python-modules >= 2
BuildRequires: rpmbuild(macros) >= 1.470
BuildRequires: sed >= 4.0
BuildRequires: xorg-lib-libXt-devel
BuildRequires: xorg-lib-libXvMC-devel >= 1.0.6
BuildRequires: xorg-lib-libXxf86vm-devel
-BuildRequires: xorg-lib-libxshmfence-devel
+BuildRequires: xorg-lib-libxshmfence-devel >= 1.1
BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
BuildRequires: xorg-proto-dri3proto-devel >= %{dri3proto_ver}
BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver}
# llvm build broken
%define filterout_ld -Wl,--as-needed
-%define specflags %{!?with_debug:-DNDEBUG}
-
%description
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL(R). To the extent that Mesa utilizes the OpenGL command
Requires: libdrm-devel >= %{libdrm_ver}
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXdamage-devel
-Requires: xorg-lib-libXext-devel
+Requires: xorg-lib-libXext-devel >= 1.0.5
Requires: xorg-lib-libXfixes-devel
Requires: xorg-lib-libXxf86vm-devel
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: libdrm-devel >= %{libdrm_ver}
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXdamage-devel
-Requires: xorg-lib-libXext-devel
+Requires: xorg-lib-libXext-devel >= 1.0.5
Requires: xorg-lib-libXxf86vm-devel
Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
Requires: xorg-proto-glproto-devel >= %{glproto_ver}
Sterownik Mesa radeonsi dla API vdpau. Obsługuje karty ATI Radeon
oparte na układach Southern Islands.
+%package -n omxil-mesa
+Summary: Mesa driver for Bellagio OpenMAX IL API
+Summary(pl.UTF-8): Sterownik Mesa nouveau dla API Bellagio OpenMAX IL
+License: MIT
+Group: X11/Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.8
+Requires: libomxil-bellagio
+
+%description -n omxil-mesa
+Mesa driver for Bellagio OpenMAX IL API.
+
+%description -n omxil-mesa -l pl.UTF-8
+Sterownik Mesa dla API Bellagio OpenMAX IL.
+
+%package -n omxil-mesa-nouveau
+Summary: Mesa nouveau driver for Bellagio OpenMAX IL API
+Summary(pl.UTF-8): Sterownik Mesa nouveau dla API Bellagio OpenMAX IL
+License: MIT
+Group: X11/Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.8
+Requires: libomxil-bellagio
+
+%description -n omxil-mesa-nouveau
+Mesa nouveau driver for Bellagio OpenMAX IL API. It supports NVidia
+adapters (NV40-NV96, NVa0).
+
+%description -n omxil-mesa-nouveau -l pl.UTF-8
+Sterownik Mesa nouveau dla API Bellagio OpenMAX IL. Obsługuje karty
+NVidia (NV40-NV96, NVa0).
+
+%package -n omxil-mesa-r600
+Summary: Mesa r600 driver for Bellagio OpenMAX IL API
+Summary(pl.UTF-8): Sterownik Mesa r600 dla API Bellagio OpenMAX IL
+License: MIT
+Group: X11/Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.8
+Requires: libomxil-bellagio
+
+%description -n omxil-mesa-r600
+Mesa r600 driver for Bellagio OpenMAX IL API. It supports ATI Radeon
+adapters based on R600/R700 chips.
+
+%description -n omxil-mesa-r600 -l pl.UTF-8
+Sterownik Mesa r600 dla API Bellagio OpenMAX IL. Obsługuje karty ATI
+Radeon oparte na układach R600/R700.
+
+%package -n omxil-mesa-radeonsi
+Summary: Mesa radeonsi driver for Bellagio OpenMAX IL API
+Summary(pl.UTF-8): Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL
+License: MIT
+Group: X11/Libraries
+Requires: libdrm >= %{libdrm_ver}
+Requires: libxcb >= 1.8
+Requires: libomxil-bellagio
+
+%description -n omxil-mesa-radeonsi
+Mesa radeonsi driver for Bellagio OpenMAX IL API. It supports ATI
+Radeon adapters based on Southern Islands chips.
+
+%description -n omxil-mesa-radeonsi -l pl.UTF-8
+Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL. Obsługuje karty
+ATI Radeon oparte na układach Southern Islands.
+
%prep
%setup -q
-%patch0 -p1
%build
%{__libtoolize}
%if %{with gallium_intel}
i915 \
%endif
+%if %{with gallium_radeon}
r300 \
r600 \
radeonsi \
+%endif
%if %{with gallium_nouveau}
nouveau
%endif
%endif
%if %{with gallium}
--enable-gallium-llvm \
- --with-llvm-shared-libs \
+ --enable-llvm-shared-libs \
%{__enable egl gallium-egl} \
%{__enable gbm gallium-gbm} \
%{__enable ocl_icd opencl-icd} \
%{__enable opencl opencl} \
%{?with_egl:--enable-openvg} \
--enable-vdpau \
+ %{?with_omx:--enable-omx} \
%{?with_xa:--enable-xa} \
--enable-xvmc \
--with-gallium-drivers=${gallium_drivers} \
# not used externally
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so
# dlopened
+%{?with_omx:%{__rm} $RPM_BUILD_ROOT%{_libdir}/bellagio/libomx_*.la}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/egl/egl_*.la
%{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la
%{__rm} $RPM_BUILD_ROOT%{_libdir}/gbm/gbm_*.la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_*.la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri/*.la
# not defined by standards; and not needed, there is pkg-config support
%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
%dir %{_includedir}/EGL
%{_includedir}/EGL/egl.h
%{_includedir}/EGL/eglext.h
+%{_includedir}/EGL/eglextchromium.h
%{_includedir}/EGL/eglmesaext.h
%{_includedir}/EGL/eglplatform.h
%{_pkgconfigdir}/egl.pc
%doc docs/specs/*
%dir %{_includedir}/GL
%{_includedir}/GL/gl.h
+%{_includedir}/GL/glcorearb.h
%{_includedir}/GL/glext.h
%{_includedir}/GL/gl_mangle.h
%{_includedir}/GL/glx.h
%attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1
%endif
+%if %{with gallium_radeon}
%files libXvMC-r600
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0
%attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1
%endif
+%endif
%if %{with gbm}
%files libgbm
%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_nouveau.so
%endif
+%if %{with gallium_radeon}
%files gbm-driver-r300
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r300.so
%files gbm-driver-radeonsi
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_radeonsi.so
+%endif
%files gbm-driver-swrast
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/r200_dri.so
%if %{with gallium}
+%if %{with gallium_radeon}
%files dri-driver-ati-radeon-R300
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/r300_dri.so
%files dri-driver-ati-radeon-R600
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/r600_dri.so
-%endif
%files dri-driver-ati-radeon-SI
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/radeonsi_dri.so
+%endif
+%endif
%files dri-driver-intel-i915
%defattr(644,root,root,755)
%files dri-driver-swrast
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/kms_swrast_dri.so
%attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so
%if %{with gallium}
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so
%endif
+%if %{with gallium_radeon}
%files -n libvdpau-driver-mesa-r600
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.0
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so
%endif
+%endif
+
+%if %{with gallium} && %{with omx}
+%files -n omxil-mesa
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
+
+%if 0
+%if %{with gallium_nouveau}
+%files -n omxil-mesa-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/bellagio/libomx_nouveau.so
+%endif
+
+%if %{with gallium_radeon}
+%files -n omxil-mesa-r600
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/bellagio/libomx_r600.so
+
+%files -n omxil-mesa-radeonsi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/bellagio/libomx_radeonsi.so
+%endif
+%endif
+%endif