dxvk/dxvk.spec
Marcus Meissner 0c2ac184f8 - updated to 1.8
## Bug Fixes and Improvements
  - Fixed some build system warnings with newer Meson versions.
  - CPU-based Vulkan implementations such as Lavapipe will now always be enumerated last. This should avoid issues on systems without a dedicated GPU where games could potentially default to a CPU rasterizer.
  - Optimized image layout transitions, which may improve performance on Intel GPUs in some games.
  - D3D9: Improved performance of texture uploads and occlusion queries in some cases.
  - D3D9: Fixed an issue where supported back buffer formats would be reported incorrectly.
  - DXGI: Enabled multi-monitor support. This requires a relatively recent Wine version with XRandR 1.4 support to work correctly.
  - D3D11: Fixed a number of reference counting issues that could potentially lead to stability issues (PR #1887, PR ##1888).
  - D3D11: Improved correctness of NaN handling in shaders with `VK_KHR_shader_float_controls`, and removed most app workarounds setting `d3d11.enableRtOutputNanFixup`.
  - Enabled `d3d11.enableRtOutputNanFixup` by default on older RADV versions.
  - Enabled `d3d11.invariantPosition` option by default to fix common Z-fighting issues, especially on RDNA2 GPUs.
  - **Atelier Ryza 2**: Added workaround for video playback breaking D3D11 rendering, like in other games of the series.
  - **Battle Engine Aquila**: Fixed broken textures (PR #1759).
  - **Dark Messiah of Might & Magic**: Work around out-of-memory issues on startup.
  - **Everquest**: Work around performance issues.
  - **F1 2018/2020**: Work around broken compute shaders causing artifacts on Mesa drivers, similar to F1 2019 (#1897).
  - **Hitman 3**: Work around AMDAGS issues on AMD GPUs similar to Hitman 2 (PR #1909).
  - **Nioh 2**: Work around black screen issues.
  - **Tomb Raider Legend**: Work around performance issues (#1685).

OBS-URL: https://build.opensuse.org/package/show/Emulators:Wine/dxvk?expand=0&rev=18
2021-02-19 06:39:27 +00:00

109 lines
3.1 KiB
RPMSpec

#
# spec file for package dxvk
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: dxvk
Version: 1.8
Release: 0
Summary: Vulkan-based D3D11 implementation for Linux / Wine
License: zlib-acknowledgement
Group: System/Emulators/PC
URL: https://github.com/doitsujin/dxvk
Source0: https://github.com/doitsujin/dxvk/archive/v%{version}.tar.gz
Source1: baselibs.conf
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glslang-devel
BuildRequires: meson
BuildRequires: ninja
BuildRequires: wine
BuildRequires: xz
%ifarch x86_64
BuildRequires: mingw64-cross-cpp
BuildRequires: mingw64-cross-gcc
BuildRequires: mingw64-cross-gcc-c++
BuildRequires: mingw64-headers
#Require 32bit version
Requires: %{name}-32bit
%else
BuildRequires: mingw32-cross-cpp
BuildRequires: mingw32-cross-gcc
BuildRequires: mingw32-cross-gcc-c++
BuildRequires: mingw32-headers
%endif
%description
Provides a Vulkan-based implementation of DXGI and D3D11 in order to run 3D applications on Linux using Wine
%prep
%setup -q
%build
export CFLAGS="%optflags -DNDEBUG -fPIC -O2 -pthread -fno-strict-aliasing -fpredictive-commoning -fuse-linker-plugin -fno-stack-protector -fno-stack-clash-protection"
export CXXFLAGS="${CFLAGS} -fpermissive"
export LDFLAGS="-fPIC -Wl,--sort-common -Wl,--gc-sections -Wl,-O1 -fuse-linker-plugin"
mkdir ../build
meson \
--cross-file build-win$(arch | tail -c 3 | sed 's|86|32|g').txt \
--strip \
--buildtype "release" \
--unity off \
--prefix /%{name} \
../build
cd ../build
ninja
%install
#install wrapper scripts
mkdir -p %{buildroot}%{_bindir} %{buildroot}%{_libexecdir}/%{name}/bin
sed \
-e 's|basedir=.*|basedir="%{_libexecdir}/%{name}"|g' \
-e 's|x32|lib|g' -e 's|x64|lib64|g' \
setup_dxvk.sh > %{buildroot}%{_libexecdir}/%{name}/bin/setup_dxvk.sh
ln -s %{_libexecdir}/%{name}/bin/setup_dxvk.sh %{buildroot}%{_bindir}/wine%{name}
#install dxvk proper
cd ../build
DESTDIR=%{buildroot}%{_libexecdir} ninja install
%ifarch x86_64
if [ -d %{buildroot}%{_libexecdir}/%{name}/lib ];then
mv %{buildroot}%{_libexecdir}/%{name}/lib %{buildroot}%{_libexecdir}/%{name}/%{_lib}
fi
%endif
rm %{buildroot}%{_libexecdir}/%{name}/%{_lib}/*.dll.a && \
mv %{buildroot}%{_libexecdir}/%{name}/bin/*.dll %{buildroot}%{_libexecdir}/%{name}/%{_lib}/
%files
%defattr(644,root,root)
%doc README.md
%license LICENSE
%{_bindir}/wine%{name}
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/%{_lib}
%attr(755, root, root) %{_libexecdir}/%{name}/bin
%changelog