dxvk/dxvk.spec
Marcus Meissner a8bc078489 - updated to 1.9.2
- Reduced overall CPU overhead in D3D9.
  - Fixed various failures in wine's D3D9 tests.
  - Fixed various issues when the `d3d9.evictManagedTexturesOnUnlock` option is enabled.
  - Fixed various issues when the `d3d11.relaxedBarriers` option is enabled.
  - **Call of Cthulhu**: Fixed reflection rendering (#2248)
  - **Crysis 3**, **Homefront The Revolution**: Worked around poor performance (#2256) (#2241)
  - **GODS**: Fixed gamma curve (#2250)
  - **Total War Medieval 2**: Fixed black lines on the world map (#2258) and settings text (#2247)
    The game still crashes when loading battles due to running out of address space.
  - **Fantasy Grounds**: Fix incorrect rendering (#2251)
  - **Need For Speed Heat**: Fixed ground textures rendering incorrectly (#1764).
  - **Paranormal Files**: Fix black screen (#2192)
  - **Pathfinder: Wrath of the Rightous**: Fixed GPU hang in loading screen.
     Note that the game itself has further issues loading certain parts
     of the game, which do not appear to be related to wine or DXVK in
     any way.
  - **Payday**: Fix flickering reflections (#2259)
  - **Shin Megami Tensei 3**: Fixed hang when entering save room (#2161)
  - **Sine Mora EX**: Added 60 FPS lock (#2261)
- updated to 1.9.1
  - Fixed a number of performance and stability issues introduced with the D3D9 locking rewrite in 1.9 (#2142, #2149, #2150, #2164, #2168).
  - Rewrote the way staging textures are handled in D3D11. This can reduce memory usage and the number of image copies necessary to move data between the CPU and GPU, and fixes severe performance issues in Roblox on Nvidia GPUs.
  - Removed some workarounds for very old Mesa versions (19.0 and older).
  - Reimplemented locking primitives based on Windows SRW locks. This may be more efficient compared to the winpthreads implementation in mingw builds.
  - Earth Defense Force 5: Work around performance issues caused by the game frequently turning vertical synchronization on and off between frames (#2127)
  - Far Cry 1: Spoof Nvidia GPU in order to enable higher-quality water rendering.
  - Far Cry 5 and other Dunia Engine games: Fixed various issues due to uninitialized memory (PR #2137).
  - GTA IV: Fixed broken app profile that would break the game on Nvidia GPUs.
  - Risen 3: Fixed crash on Nvidia GPUs (#2154).

OBS-URL: https://build.opensuse.org/package/show/Emulators:Wine/dxvk?expand=0&rev=27
2021-09-20 15:03:47 +00:00

111 lines
3.2 KiB
RPMSpec

#
# spec file for package dxvk
#
# Copyright (c) 2021 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.9.2
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
ExclusiveArch: %{ix86} x86_64
%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 -fno-lto"
export CXXFLAGS="${CFLAGS} -fpermissive"
export LDFLAGS="-fPIC -Wl,--sort-common -Wl,--gc-sections -Wl,-O1 -fuse-linker-plugin -fno-lto"
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