dxvk/dxvk.spec
Marcus Meissner 485c026f98 Accepting request 1149744 from home:rrahl0:upgrades
- update to 2.3:
  * If VK_KHR_present_wait is supported, and if vertical synchronization is enabled,
    frame latency events will now be signaled when an image is actually being presented
  * if VK_EXT_swapchain_maintenance1 is supported, enabling and disabling vertical
    synchronization may no longe require recreating the Vulkan swap chain
  * dxgi.nvapiHack config option was deprecated
  * new option dxgi.hideNvidiaGpu
  * dxgi.tearFree and d3d9.tearFree options were consolidated into a new dxvk.tearFree option
  * Configuration options can now be specified via an environment variable, DXVK_CONFIG
  * VK_EXT_depth_bias_control is supported, depth bias scaling will now be correct in most situations
  * VK_EXT_line_rasterization and its relevant features are supported
  * VK_KHR_maintenance5 is supported, DXGI_FORMAT_A8_UNORM images will now use
    the corresponding Vulkan format
  * D3D9 command submission now works the same way as it does for D3D11
  * Fixed a minor issue with D3D9 feedback loop tracking
  * Fixed a minor issue with D3D11 stream output
  * Fixed a bug and performance issues with the implementation of D3D11 tiled resources
  * Fixed various issues with reporting HDR metadata.
  * Fixed a crash when compiling D3D9 shaders generated by the vkd3d HLSL compiler
  * Implemented keyed mutex synchronization on top of newly added winevulkan functionality
  * Added stubs for various D3D9On12 interop interfaces
  * Added an interface to allow external libraries, such as NVAPI, to enable HDR in various D3D11 games
  * A Total War Saga: TROY: Fixed trees not rendering when MSAA is enabled
  * Far Cry 2: Fixed crash when using D3D10
  * Halo Online: Fixed water rendering
  * Lara Croft and the Temple of Osiris: Fixed deadlock when using Exclusive Fullscreen
  * RaceRoom Racing Experience: Fixed a crash when starting a race
  * Spider Man: Shattered Dimensions: Fixed a regression that caused blocky shadows
  * Test Drive Unlimited 2: Fixed shadows on grass
  * The Sims 2: Fixed a regression in DXVK 2.2 that affected terrain rendering

OBS-URL: https://build.opensuse.org/request/show/1149744
OBS-URL: https://build.opensuse.org/package/show/Emulators:Wine/dxvk?expand=0&rev=40
2024-02-26 10:57:50 +00:00

112 lines
3.2 KiB
RPMSpec

#
# spec file for package dxvk
#
# Copyright (c) 2024 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: 2.3
Release: 0
Summary: Vulkan-based D3D11 implementation for Linux / Wine
License: zlib-acknowledgement
Group: System/Emulators/PC
URL: https://github.com/doitsujin/dxvk
Source0: %{name}-%{version}.tar.gz
Source1: baselibs.conf
Source2: setup_dxvk.sh
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 setup \
--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' \
%{SOURCE2}> %{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