Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
František Zatloukal
5d001d8df8 Check for vulkan before installing dxvk as best alternative 2020-07-20 14:42:06 +02:00

View file

@ -10,7 +10,7 @@
Name: wine-dxvk
Version: 1.7
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Vulkan-based D3D11 and D3D10 implementation for Linux / Wine
License: zlib
@ -41,6 +41,7 @@ BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-winpthreads-static
%endif
Requires(pre): vulkan-tools
Requires: wine >= 4.13
Recommends: wine-dxvk-dxgi%{?_isa} = %{version}-%{release}
Requires: vulkan-loader%{?_isa}
@ -120,13 +121,24 @@ mv %{buildroot}%{_libdir}/wine/d3d10_1.dll %{buildroot}%{_libdir}/wine/dxvk-d3d1
mv %{buildroot}%{_libdir}/wine/d3d11.dll %{buildroot}%{_libdir}/wine/dxvk-d3d11.dll
%posttrans
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d10.dll 'wine-d3d10%{?_isa}' %{_libdir}/wine/dxvk-d3d10.dll 20 \
--slave %{_libdir}/wine/d3d10_1.dll 'wine-d3d10_1%{?_isa}' %{_libdir}/wine/dxvk-d3d10_1.dll \
--slave %{_libdir}/wine/d3d10core.dll 'wine-d3d10core%{?_isa}' %{_libdir}/wine/dxvk-d3d10core.dll
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d11.dll 'wine-d3d11%{?_isa}' %{_libdir}/wine/dxvk-d3d11.dll 20
if vulkaninfo &> /dev/null; then
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d10.dll 'wine-d3d10%{?_isa}' %{_libdir}/wine/dxvk-d3d10.dll 20 \
--slave %{_libdir}/wine/d3d10_1.dll 'wine-d3d10_1%{?_isa}' %{_libdir}/wine/dxvk-d3d10_1.dll \
--slave %{_libdir}/wine/d3d10core.dll 'wine-d3d10core%{?_isa}' %{_libdir}/wine/dxvk-d3d10core.dll
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d11.dll 'wine-d3d11%{?_isa}' %{_libdir}/wine/dxvk-d3d11.dll 20
else
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d10.dll 'wine-d3d10%{?_isa}' %{_libdir}/wine/dxvk-d3d10.dll 5 \
--slave %{_libdir}/wine/d3d10_1.dll 'wine-d3d10_1%{?_isa}' %{_libdir}/wine/dxvk-d3d10_1.dll \
--slave %{_libdir}/wine/d3d10core.dll 'wine-d3d10core%{?_isa}' %{_libdir}/wine/dxvk-d3d10core.dll
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d11.dll 'wine-d3d11%{?_isa}' %{_libdir}/wine/dxvk-d3d11.dll 5
fi
%posttrans d3d9
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d9.dll 'wine-d3d9%{?_isa}' %{_libdir}/wine/dxvk-d3d9.dll 20
if vulkaninfo &> /dev/null; then
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d9.dll 'wine-d3d9%{?_isa}' %{_libdir}/wine/dxvk-d3d9.dll 20
else
%{_sbindir}/alternatives --install %{_libdir}/wine/d3d9.dll 'wine-d3d9%{?_isa}' %{_libdir}/wine/dxvk-d3d9.dll 5
fi
%postun
%{_sbindir}/alternatives --remove 'wine-d3d10%{?_isa}' %{_libdir}/wine/dxvk-d3d10.dll