!14 optimize the mesa spec

From: @yanan-rock
Reviewed-by: @t_feng
Signed-off-by: @t_feng
This commit is contained in:
openeuler-ci-bot 2021-03-30 14:32:07 +08:00 committed by Gitee
commit 8c36f8cd19

454
mesa.spec
View File

@ -1,225 +1,319 @@
%undefine _annotated_build %undefine _annotated_build
%define base_drivers nouveau,r100,r200 %ifnarch s390x
%global with_hardware 1
%if 0%{?openeuler}
%bcond_without vdpau
%bcond_without nine
%bcond_without omx
%else
%bcond_with vdpau
%bcond_with nine
%bcond_with omx
%endif
%bcond_without vaapi
%bcond_with opencl
%global base_drivers nouveau,r100,r200
%endif
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
%define platform_drivers ,i915,i965 %global platform_drivers ,i915,i965
%define with_vmware 1 %global with_iris 1
%define with_iris 1 %global with_vmware 1
%define vulkan_drivers intel,amd %if 0%{?openeuler}
%global with_xa 1
%endif
%global vulkan_drivers intel,amd
%else %else
%define vulkan_drivers amd %ifnarch s390x
%global vulkan_drivers amd
%endif
%endif %endif
%ifarch %{arm} aarch64 %ifarch %{arm} aarch64
%define with_etnaviv 1 %global with_etnaviv 1
%define with_freedreno 1 %global with_freedreno 1
%define with_tegra 1 %global with_kmsro 1
%define with_panfrost 1 %global with_lima 1
%define with_lima 1 %global with_panfrost 1
%define with_kmsro 1 %global with_tegra 1
%define with_v3d 1 %global with_vc4 1
%define with_vc4 1 %global with_v3d 1
%define with_asm 1 %if 0%{?openeuler}
%global with_xa 1
%endif
%endif %endif
%ifnarch %{arm} %ifnarch %{arm} s390x
%global with_radeonsi 1 %global with_radeonsi 1
%endif %endif
%ifnarch %{x86}
%global with_asm 1
%endif
%ifarch %{valgrind_arches}
%bcond_without valgrind %bcond_without valgrind
%else
%bcond_with valgrind
%endif
%define dri_drivers %{?base_drivers}%{?platform_drivers} %global dri_drivers %{?base_drivers}%{?platform_drivers}
%define with_opencl 0
Name: mesa Name: mesa
Summary: Mesa graphics libraries Summary: Mesa graphics libraries
Version: 20.1.4 Version: 20.1.4
Release: 1 Release: 2
License: MIT License: MIT
URL: https://www.mesa3d.org URL: http://www.mesa3d.org
Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}.tar.xz Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}.tar.xz
Patch0: 0001-evergreen-big-endian.patch Patch3: 0001-evergreen-big-endian.patch
BuildRequires: meson gcc gcc-c++ gettext kernel-headers libdrm-devel libXxf86vm-devel expat-devel libX11-devel BuildRequires: meson >= 0.45
BuildRequires: xorg-x11-proto-devel imake libselinux-devel libXrandr-devel libXext-devel libXfixes-devel libXdamage-devel BuildRequires: gcc
BuildRequires: libXi-devel libXmu-devel libxshmfence-devel elfutils python3 llvm-devel clang-devel BuildRequires: gcc-c++
BuildRequires: elfutils-libelf-devel python3-libxml2 libudev-devel bison flex python3-devel BuildRequires: gettext
BuildRequires: wayland-devel wayland-protocols-devel libvdpau-devel libva-devel zlib-devel
BuildRequires: libomxil-bellagio-devel libclc-devel vulkan-devel python3-mako %if 0%{?with_hardware}
BuildRequires: kernel-headers
%endif
BuildRequires: pkgconfig(libdrm) >= 2.4.97
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(zlib) >= 1.2.3
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-protocols) >= 1.8
BuildRequires: pkgconfig(wayland-client) >= 1.11
BuildRequires: pkgconfig(wayland-server) >= 1.11
BuildRequires: pkgconfig(wayland-egl-backend) >= 3
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xdamage) >= 1.1
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xcb-glx) >= 1.8.1
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xcb-dri2) >= 1.8
BuildRequires: pkgconfig(xcb-dri3)
BuildRequires: pkgconfig(xcb-present)
BuildRequires: pkgconfig(xcb-sync)
BuildRequires: pkgconfig(xshmfence) >= 1.1
BuildRequires: pkgconfig(dri2proto) >= 2.8
BuildRequires: pkgconfig(glproto) >= 1.4.14
BuildRequires: pkgconfig(xcb-xfixes)
BuildRequires: pkgconfig(xcb-randr)
BuildRequires: pkgconfig(xrandr) >= 1.3
BuildRequires: bison
BuildRequires: flex
%if 0%{?with_vdpau}
BuildRequires: pkgconfig(vdpau) >= 1.1
%endif
%if 0%{?with_vaapi}
BuildRequires: pkgconfig(libva) >= 0.38.0
%endif
%if 0%{?with_omx}
BuildRequires: pkgconfig(libomxil-bellagio)
%endif
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libglvnd) >= 0.2.0
BuildRequires: llvm-devel >= 7.0.0
%if 0%{?with_opencl} %if 0%{?with_opencl}
BuildRequires: opencl-filesystem BuildRequires: clang-devel
BuildRequires: pkgconfig(libclc)
%endif %endif
%if %{with valgrind}
%ifarch %{valgrind_arches} BuildRequires: pkgconfig(valgrind)
BuildRequires: valgrind-devel %endif
BuildRequires: python3-devel
BuildRequires: python3-mako
%if 0%{?with_hardware}
BuildRequires: vulkan-headers
%endif %endif
BuildRequires: libglvnd-devel
%description %description
%{summary}. %{summary}.
%package filesystem %package filesystem
Summary: Mesa driver filesystem Summary: Mesa driver filesystem
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release} Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: mesa-dri-filesystem < %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: mesa-dri-filesystem < %{?epoch:%{epoch}:}%{version}-%{release}
%description filesystem %description filesystem
%{summary}. %{summary}.
%package libGL %package libGL
Summary: Mesa libGL runtime libraries Summary: Mesa libGL runtime libraries
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: libglvnd-glx%{?_isa} >= 1:1.0.1-0.9 Requires: libglvnd-glx%{?_isa} >= 1:1.0.1-0.9
%description libGL %description libGL
%{summary}. %{summary}.
%package libGL-devel %package libGL-devel
Summary: Mesa libGL development package Summary: Mesa libGL development package
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: libglvnd-devel%{?_isa} Requires: libglvnd-devel%{?_isa}
Provides: libGL-devel libGL-devel%{?_isa} Provides: libGL-devel
Provides: libGL-devel%{?_isa}
%description libGL-devel %description libGL-devel
%{summary}. %{summary}.
%package libEGL %package libEGL
Summary: Mesa libEGL runtime libraries Summary: Mesa libEGL runtime libraries
Requires: libglvnd-egl%{?_isa} Requires: libglvnd-egl%{?_isa}
%description libEGL %description libEGL
%{summary}. %{summary}.
%package libEGL-devel %package libEGL-devel
Summary: Mesa libEGL development package Summary: Mesa libEGL development package
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: libglvnd-devel%{?_isa} %{name}-khr-devel Requires: libglvnd-devel%{?_isa}
Provides: libEGL-devel libEGL-devel%{?_isa} Requires: %{name}-khr-devel%{?_isa}
Provides: libEGL-devel
Provides: libEGL-devel%{?_isa}
%description libEGL-devel %description libEGL-devel
%{summary}. %{summary}.
%package dri-drivers %package dri-drivers
Summary: Mesa-based DRI drivers Summary: Mesa-based DRI drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description dri-drivers %description dri-drivers
%{summary}. %{summary}.
%package omx-drivers %if 0%{?with_omx}
%package omx-drivers
Summary: Mesa-based OMX drivers Summary: Mesa-based OMX drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description omx-drivers %description omx-drivers
%{summary}. %{summary}.
%endif
%if 0%{?with_vdpau}
%package vdpau-drivers %package vdpau-drivers
Summary: Mesa-based VDPAU drivers Summary: Mesa-based VDPAU drivers
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description vdpau-drivers %description vdpau-drivers
%{summary}. %{summary}.
%endif
%package libOSMesa %package libOSMesa
Summary: Mesa offscreen rendering libraries Summary: Mesa offscreen rendering libraries
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: libOSMesa libOSMesa%{?_isa} Provides: libOSMesa
Provides: libOSMesa%{?_isa}
%description libOSMesa %description libOSMesa
%{summary}. %{summary}.
%package libOSMesa-devel %package libOSMesa-devel
Summary: Mesa offscreen rendering development package Summary: Mesa offscreen rendering development package
Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description libOSMesa-devel %description libOSMesa-devel
%{summary}. %{summary}.
%package libgbm %package libgbm
Summary: Mesa gbm runtime library Summary: Mesa gbm runtime library
Provides: libgdm libgbm%{?_isa} Provides: libgbm
Provides: libgbm%{?_isa}
%description libgbm %description libgbm
%{summary}. %{summary}.
%package libgbm-devel %package libgbm-devel
Summary: Mesa libgbm development package Summary: Mesa libgbm development package
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: libgbm-devel libgbm-devel%{?_isa} Provides: libgbm-devel
Provides: libgbm-devel%{?_isa}
%description libgbm-devel %description libgbm-devel
%{summary}. %{summary}.
%package libxatracker %if 0%{?with_xa}
%package libxatracker
Summary: Mesa XA state tracker Summary: Mesa XA state tracker
Provides: libxatracker libxatracker%{?_isa} Provides: libxatracker
Provides: libxatracker%{?_isa}
%description libxatracker %description libxatracker
%{summary}. %{summary}.
%package libxatracker-devel %package libxatracker-devel
Summary: Mesa XA state tracker development package Summary: Mesa XA state tracker development package
Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: libxatracker-devel libxatracker-devel%{?_isa} Provides: libxatracker-devel
Provides: libxatracker-devel%{?_isa}
%description libxatracker-devel %description libxatracker-devel
%{summary}. %{summary}.
%endif
%package libglapi %package libglapi
Summary: Mesa shared glapi Summary: Mesa shared glapi
Provides: libglapi libglapi%{?_isa} Provides: libglapi
Provides: libglapi%{?_isa}
%description libglapi %description libglapi
%{summary}. %{summary}.
%if 0%{?with_opencl} %if 0%{?with_opencl}
%package libOpenCL %package libOpenCL
Summary: Mesa OpenCL runtime library Summary: Mesa OpenCL runtime library
Requires: ocl-icd%{?_isa} Requires: ocl-icd%{?_isa}
Requires: libclc%{?_isa} Requires: libclc%{?_isa}
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: opencl-filesystem Requires: opencl-filesystem
%description libOpenCL %description libOpenCL
%{summary}. %{summary}.
%package libOpenCL-devel %package libOpenCL-devel
Summary: Mesa OpenCL development package Summary: Mesa OpenCL development package
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description libOpenCL-devel %description libOpenCL-devel
%{summary}. %{summary}.
%endif %endif
%package libd3d %if 0%{?with_nine}
%package libd3d
Summary: Mesa Direct3D9 state tracker Summary: Mesa Direct3D9 state tracker
%description libd3d %description libd3d
%{summary}. %{summary}.
%package libd3d-devel %package libd3d-devel
Summary: Mesa Direct3D9 state tracker development package Summary: Mesa Direct3D9 state tracker development package
Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description libd3d-devel %description libd3d-devel
%{summary}. %{summary}.
%endif
%package vulkan-drivers %package vulkan-drivers
Summary: Mesa Vulkan drivers Summary: Mesa Vulkan drivers
Requires: vulkan%{?_isa} Requires: vulkan%{_isa}
%description vulkan-drivers %description vulkan-drivers
The drivers with support for the Vulkan API. The drivers with support for the Vulkan API.
%package vulkan-devel %package vulkan-devel
Summary: Mesa Vulkan development files Summary: Mesa Vulkan development files
Requires: %{name}-vulkan-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-vulkan-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: vulkan-devel Requires: vulkan-devel
%description vulkan-devel %description vulkan-devel
Headers for development with the Vulkan API. Headers for development with the Vulkan API.
%prep %prep
@ -228,18 +322,33 @@ Headers for development with the Vulkan API.
# Make sure the build uses gnu++14 as llvm 10 headers require that # Make sure the build uses gnu++14 as llvm 10 headers require that
sed -i -e 's/cpp_std=gnu++11/cpp_std=gnu++14/g' meson.build sed -i -e 's/cpp_std=gnu++11/cpp_std=gnu++14/g' meson.build
# cElementTree no longer exists in Python 3.9
sed -i -e 's/import xml.etree.cElementTree/import xml.etree.ElementTree/g' \
src/amd/vulkan/radv_extensions.py \
src/freedreno/vulkan/tu_extensions.py \
src/intel/vulkan/anv_extensions_gen.py
%build %build
# Build with -fcommon until the omx build with gcc10 is fixed upstream
# https://gitlab.freedesktop.org/mesa/mesa/issues/2385
%global optflags %{optflags} -fcommon
%meson -Dcpp_std=gnu++14 \ %meson -Dcpp_std=gnu++14 \
-Dplatforms=x11,wayland,drm,surfaceless \ -Dplatforms=x11,wayland,drm,surfaceless \
-Ddri3=true \ -Ddri3=true \
-Ddri-drivers=%{?dri_drivers} \ -Ddri-drivers=%{?dri_drivers} \
%if 0%{?with_hardware}
-Dgallium-drivers=swrast,virgl,r300,nouveau%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost} \ -Dgallium-drivers=swrast,virgl,r300,nouveau%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost} \
-Dgallium-vdpau=true \ %else
-Dgallium-drivers=swrast,virgl \
%endif
-Dgallium-vdpau=%{?with_vdpau:true}%{!?with_vdpau:false} \
-Dgallium-xvmc=false \ -Dgallium-xvmc=false \
-Dgallium-omx=bellagio \ -Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \
-Dgallium-va=true \ -Dgallium-va=%{?with_vaapi:true}%{!?with_vaapi:false} \
-Dgallium-xa=true \ -Dgallium-xa=%{?with_xa:true}%{!?with_xa:false} \
-Dgallium-nine=true \ -Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
-Dgallium-opencl=disabled \ -Dgallium-opencl=disabled \
-Dvulkan-drivers=%{?vulkan_drivers} \ -Dvulkan-drivers=%{?vulkan_drivers} \
-Dshared-glapi=true \ -Dshared-glapi=true \
@ -264,134 +373,126 @@ sed -i -e 's/cpp_std=gnu++11/cpp_std=gnu++14/g' meson.build
%install %install
%meson_install %meson_install
rm -f %{buildroot}%{_libdir}/vdpau/*.so # libvdpau opens the versioned name, don't bother including the unversioned
rm -f %{buildroot}%{_libdir}/libGLX_mesa.so rm -vf %{buildroot}%{_libdir}/vdpau/*.so
rm -f %{buildroot}%{_libdir}/libEGL_mesa.so # likewise glvnd
rm -f %{buildroot}%{_libdir}/libGLES* rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so
rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so
# XXX can we just not build this
rm -vf %{buildroot}%{_libdir}/libGLES*
# glvnd needs a default provider for indirect rendering where it cannot
# determine the vendor
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0
%delete_la # this keeps breaking, check it early. note that the exit from eu-ftr is odd.
pushd %{buildroot}%{_libdir} pushd %{buildroot}%{_libdir}
for i in libOSMesa*.so libGL.so ; do for i in libOSMesa*.so libGL.so ; do
eu-findtextrel $i && exit 1 eu-findtextrel $i && exit 1
done done
popd popd
%ldconfig_scriptlets libglapi %files filesystem
%ldconfig_scriptlets libOSMesa %dir %{_libdir}/dri
%ldconfig_scriptlets libgbm %if 0%{?with_hardware}
%ldconfig_scriptlets libxatracker %if 0%{?with_vdpau}
%if 0%{?with_opencl} %dir %{_libdir}/vdpau
%ldconfig_scriptlets libOpenCL %endif
%endif %endif
%files filesystem
%defattr(-,root,root)
%doc docs/libGL.txt
%license docs/license.html
%dir %{_libdir}/dri
%dir %{_libdir}/vdpau
%files libGL %files libGL
%defattr(-,root,root)
%{_libdir}/libGLX_mesa.so.0* %{_libdir}/libGLX_mesa.so.0*
%{_libdir}/libGLX_system.so.0* %{_libdir}/libGLX_system.so.0*
%files libGL-devel %files libGL-devel
%defattr(-,root,root) %dir %{_includedir}/GL/internal
%{_includedir}/GL/internal/dri_interface.h %{_includedir}/GL/internal/dri_interface.h
%{_libdir}/libglapi.so
%{_libdir}/pkgconfig/dri.pc %{_libdir}/pkgconfig/dri.pc
%{_libdir}/libglapi.so
%files libEGL %files libEGL
%defattr(-,root,root)
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json %{_datadir}/glvnd/egl_vendor.d/50_mesa.json
%{_libdir}/libEGL_mesa.so.0* %{_libdir}/libEGL_mesa.so.0*
%files libEGL-devel %files libEGL-devel
%defattr(-,root,root) %dir %{_includedir}/EGL
%{_includedir}/EGL/egl*.h %{_includedir}/EGL/eglmesaext.h
%{_includedir}/EGL/eglextchromium.h
%ldconfig_scriptlets libglapi
%files libglapi %files libglapi
%defattr(-,root,root) %{_libdir}/libglapi.so.0
%{_libdir}/libglapi.so.0* %{_libdir}/libglapi.so.0.*
%ldconfig_scriptlets libOSMesa
%files libOSMesa %files libOSMesa
%defattr(-,root,root)
%{_libdir}/libOSMesa.so.8* %{_libdir}/libOSMesa.so.8*
%files libOSMesa-devel %files libOSMesa-devel
%defattr(-,root,root) %dir %{_includedir}/GL
%{_includedir}/GL/osmesa.h %{_includedir}/GL/osmesa.h
%{_libdir}/libOSMesa.so %{_libdir}/libOSMesa.so
%{_libdir}/pkgconfig/osmesa.pc %{_libdir}/pkgconfig/osmesa.pc
%ldconfig_scriptlets libgbm
%files libgbm %files libgbm
%defattr(-,root,root)
%{_libdir}/libgbm.so.1 %{_libdir}/libgbm.so.1
%{_libdir}/libgbm.so.1.* %{_libdir}/libgbm.so.1.*
%files libgbm-devel %files libgbm-devel
%defattr(-,root,root)
%{_libdir}/libgbm.so %{_libdir}/libgbm.so
%{_includedir}/gbm.h %{_includedir}/gbm.h
%{_libdir}/pkgconfig/gbm.pc %{_libdir}/pkgconfig/gbm.pc
%if 0%{?with_xa}
%ldconfig_scriptlets libxatracker
%files libxatracker %files libxatracker
%defattr(-,root,root) %if 0%{?with_hardware}
%{_libdir}/libxatracker.so.2* %{_libdir}/libxatracker.so.2
%{_libdir}/libxatracker.so.2.*
%endif
%files libxatracker-devel %files libxatracker-devel
%defattr(-,root,root) %if 0%{?with_hardware}
%{_libdir}/libxatracker.so %{_libdir}/libxatracker.so
%{_includedir}/xa_*.h %{_includedir}/xa_tracker.h
%{_includedir}/xa_composite.h
%{_includedir}/xa_context.h
%{_libdir}/pkgconfig/xatracker.pc %{_libdir}/pkgconfig/xatracker.pc
%endif
%endif
%if 0%{?with_opencl} %if 0%{?with_opencl}
%ldconfig_scriptlets libOpenCL
%files libOpenCL %files libOpenCL
%defattr(-,root,root)
%{_libdir}/libMesaOpenCL.so.* %{_libdir}/libMesaOpenCL.so.*
%{_sysconfdir}/OpenCL/vendors/mesa.icd %{_sysconfdir}/OpenCL/vendors/mesa.icd
%files libOpenCL-devel %files libOpenCL-devel
%defattr(-,root,root)
%{_libdir}/libMesaOpenCL.so %{_libdir}/libMesaOpenCL.so
%endif %endif
%if 0%{?with_nine}
%files libd3d %files libd3d
%defattr(-,root,root) %dir %{_libdir}/d3d/
%{_libdir}/d3d/*.so.* %{_libdir}/d3d/*.so.*
%files libd3d-devel %files libd3d-devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/d3d.pc %{_libdir}/pkgconfig/d3d.pc
%{_includedir}/d3dadapter/ %{_includedir}/d3dadapter/
%{_libdir}/d3d/*.so %{_libdir}/d3d/*.so
%endif
%files dri-drivers %files dri-drivers
%defattr(-,root,root)
%dir %{_datadir}/drirc.d %dir %{_datadir}/drirc.d
%{_datadir}/drirc.d/00-mesa-defaults.conf %{_datadir}/drirc.d/00-mesa-defaults.conf
%if 0%{?with_hardware}
%{_libdir}/dri/radeon_dri.so %{_libdir}/dri/radeon_dri.so
%{_libdir}/dri/r200_dri.so %{_libdir}/dri/r200_dri.so
%{_libdir}/dri/nouveau_vieux_dri.so %{_libdir}/dri/nouveau_vieux_dri.so
%{_libdir}/dri/r300_dri.so %{_libdir}/dri/r300_dri.so
%if 0%{?with_radeonsi}
%{_libdir}/dri/r600_dri.so %{_libdir}/dri/r600_dri.so
%{_libdir}/dri/radeonsi_dri.so %{_libdir}/dri/radeonsi_dri.so
%{_libdir}/dri/nouveau_dri.so %endif
%{_libdir}/dri/nouveau_drv_video.so
%{_libdir}/dri/r600_drv_video.so
%{_libdir}/dri/radeonsi_drv_video.so
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/virtio_gpu_dri.so
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
%{_libdir}/dri/i915_dri.so %{_libdir}/dri/i915_dri.so
%{_libdir}/dri/i965_dri.so %{_libdir}/dri/i965_dri.so
%{_libdir}/dri/vmwgfx_dri.so
%{_libdir}/dri/iris_dri.so %{_libdir}/dri/iris_dri.so
%endif %endif
%ifarch %{arm} aarch64 %ifarch %{arm} aarch64
@ -399,16 +500,48 @@ popd
%{_libdir}/dri/mcde_dri.so %{_libdir}/dri/mcde_dri.so
%{_libdir}/dri/mxsfb-drm_dri.so %{_libdir}/dri/mxsfb-drm_dri.so
%{_libdir}/dri/stm_dri.so %{_libdir}/dri/stm_dri.so
%endif
%if 0%{?with_vc4}
%{_libdir}/dri/vc4_dri.so %{_libdir}/dri/vc4_dri.so
%endif
%if 0%{?with_v3d}
%{_libdir}/dri/v3d_dri.so
%endif
%if 0%{?with_freedreno}
%{_libdir}/dri/kgsl_dri.so %{_libdir}/dri/kgsl_dri.so
%{_libdir}/dri/msm_dri.so %{_libdir}/dri/msm_dri.so
%endif
%if 0%{?with_etnaviv}
%{_libdir}/dri/etnaviv_dri.so %{_libdir}/dri/etnaviv_dri.so
%{_libdir}/dri/imx-drm_dri.so %{_libdir}/dri/imx-drm_dri.so
%{_libdir}/dri/v3d_dri.so %endif
%if 0%{?with_tegra}
%{_libdir}/dri/tegra_dri.so %{_libdir}/dri/tegra_dri.so
%endif
%if 0%{?with_lima}
%{_libdir}/dri/lima_dri.so %{_libdir}/dri/lima_dri.so
%endif
%if 0%{?with_panfrost}
%{_libdir}/dri/panfrost_dri.so %{_libdir}/dri/panfrost_dri.so
%endif %endif
%{_libdir}/dri/nouveau_dri.so
%if 0%{?with_vmware}
%{_libdir}/dri/vmwgfx_dri.so
%endif
%if 0%{?with_vaapi}
%{_libdir}/dri/nouveau_drv_video.so
%endif
%if 0%{?with_radeonsi}
%if 0%{?with_vaapi}
%{_libdir}/dri/r600_drv_video.so
%{_libdir}/dri/radeonsi_drv_video.so
%endif
%endif
%endif
%if 0%{?with_opencl}
%dir %{_libdir}/gallium-pipe
%{_libdir}/gallium-pipe/*.so
%endif
%if 0%{?with_kmsro} %if 0%{?with_kmsro}
%{_libdir}/dri/armada-drm_dri.so %{_libdir}/dri/armada-drm_dri.so
%{_libdir}/dri/exynos_dri.so %{_libdir}/dri/exynos_dri.so
@ -424,17 +557,28 @@ popd
%{_libdir}/dri/st7735r_dri.so %{_libdir}/dri/st7735r_dri.so
%{_libdir}/dri/sun4i-drm_dri.so %{_libdir}/dri/sun4i-drm_dri.so
%endif %endif
%{_libdir}/dri/kms_swrast_dri.so
%{_libdir}/dri/swrast_dri.so
%{_libdir}/dri/virtio_gpu_dri.so
%if 0%{?with_hardware}
%if 0%{?with_omx}
%files omx-drivers %files omx-drivers
%defattr(-,root,root)
%{_libdir}/bellagio/libomx_mesa.so %{_libdir}/bellagio/libomx_mesa.so
%endif
%if 0%{?with_vdpau}
%files vdpau-drivers %files vdpau-drivers
%defattr(-,root,root)
%{_libdir}/vdpau/libvdpau_nouveau.so.1* %{_libdir}/vdpau/libvdpau_nouveau.so.1*
%{_libdir}/vdpau/libvdpau_r*.so.1* %{_libdir}/vdpau/libvdpau_r300.so.1*
%if 0%{?with_radeonsi}
%{_libdir}/vdpau/libvdpau_r600.so.1*
%{_libdir}/vdpau/libvdpau_radeonsi.so.1*
%endif
%endif
%endif
%files vulkan-drivers %files vulkan-drivers
%if 0%{?with_hardware}
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
%{_libdir}/libvulkan_intel.so %{_libdir}/libvulkan_intel.so
%{_datadir}/vulkan/icd.d/intel_icd.*.json %{_datadir}/vulkan/icd.d/intel_icd.*.json
@ -443,16 +587,28 @@ popd
%{_datadir}/vulkan/icd.d/radeon_icd.*.json %{_datadir}/vulkan/icd.d/radeon_icd.*.json
%{_libdir}/libVkLayer_MESA_device_select.so %{_libdir}/libVkLayer_MESA_device_select.so
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json %{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
%endif
%files vulkan-devel %files vulkan-devel
%if 0%{?with_hardware}
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
%{_includedir}/vulkan/ %{_includedir}/vulkan/vulkan_intel.h
%endif
%endif %endif
%changelog %changelog
* Mon Aug 03 2020 orange-snn <songnannan2@huawei.com> - 20.1.4-1 * Thu Mar 25 2021 yanan <yanan@huawei.com> - 20.1.4-2
- optimize the mesa spec
* Sat Oct 10 2020 hanhui <hanhui15@huawei.com> - 20.1.4-1
- update to 20.1.4 - update to 20.1.4
* Wed Jun 03 2020 songnannan <songnannan2@huawei.com> - 18.3.6-2
- add mesa-khr-header subpackage to hold <KHR/khrplatform.h>
* Tue Jun 02 2020 songnannan <songnannan2@huawei.com> - 18.3.6-1
- update to 18.3.6
* Wed Jan 15 2020 openEuler Buildteam <buildteam@openeuler.org> - 18.2.2-6 * Wed Jan 15 2020 openEuler Buildteam <buildteam@openeuler.org> - 18.2.2-6
- disable opencl - disable opencl