Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dxvk for openSUSE:Factory checked in 
at 2023-05-15 16:54:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dxvk (Old)
 and      /work/SRC/openSUSE:Factory/.dxvk.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dxvk"

Mon May 15 16:54:44 2023 rev:8 rq:1087211 version:2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/dxvk/dxvk.changes        2023-05-06 
22:09:55.992964406 +0200
+++ /work/SRC/openSUSE:Factory/.dxvk.new.1533/dxvk.changes      2023-05-15 
16:54:57.540384553 +0200
@@ -1,0 +2,57 @@
+Fri May  5 22:16:37 UTC 2023 - Björn Bidar <bjorn.bi...@thaodan.de>
+
+- Keep setup_dxvk.sh script that was deleted by upstream.
+  For more context see:
+  
https://github.com/doitsujin/dxvk/commit/64cb1ad208f80b11400eef779e99fec223754098
+- Update to 2.1
+  * HDR support
+    On systems supporting HDR10 color spaces, HDR can now be
+    enabled by setting the environment variable DXVK_HDR=1,
+    or by setting the option dxgi.enableHDR = True in the configuration
+    file. When using vkd3d-proton 2.8 or newer, this will allow D3D12
+    games to detect and use the HDR10 color space if they support it.
+
+    No major Linux desktop environment currently supports HDR. In order
+    to use this on Linux, a Gamescope session with --hdr-enabled is required.
+    This is currently only supported under AMDGPU and requires kernel patches
+    from the josh-hdr-colorimetry branch.
+
+  * Shader compilation improvements
+    Use of pipeline libraries was extended to pipelines with tessellation or
+    geometry shaders in order to further reduce stutter. Additionally, more 
features
+    of the VK_EXT_extended_dynamic_state3 extension are leveraged to reduce 
stutter
+    in some situations when MSAA is used, provided that the Vulkan driver 
supports them.
+
+  * Sample rate shading
+    For older games that support MSAA, the d3d9.forceSampleRateShading and
+    d3d11.forceSampleRateShading options were added to let users enable
+    sample rate shading for all shaders. This will have a very high
+    impact on GPU-bound performance, but may increase overall image quality
+    in certain games that suffer from specular aliasing or shimmering 
alpha-tested geometry.
+  * Improved D3D11 command submission logic in order to make overall 
performance more consistent,
+    and to bring DXVK's behaviour more in line with native D3D11 drivers.
+  * Fixed D3D11 reference counting issues around 2D textures. (#3169)
+  * Fixed Vulkan validation errors when creating DXGI_FORMAT_A8_UNORM UAVs.
+    Note that UAVs of this format may not work as expected.
+  * Fixed Vulkan validation errors that would occur when allocating dedicated 
image memory
+    on Nvidia GPUs in some situations.
+  * Fixed Vulkan validation errors caused by broken timeline semaphores on 
32-bit Proton.
+  * Worked around an issue with the Uplay overlay being stuck on screen. 
(#3146)
+  * Worked around a bug in AMD's Windows driver as well as AMDVLK that would
+    cause numerous games to crash since DXVK 2.0. (#3172)
+  * Fewer threads will be used to perform background optimization of graphics 
pipeines.
+    This may result in a smoother gameplay experience on some systems.
+  * Ashes of the Singularity: Fixed performance regression caused by 
suboptimal descriptor set allocation.
+  * Battlefield: Bad Company 2: Fixed flickering (#3078, PR #3079)
+  * Cardfight!! Vanguard: Fixed rendering (PR #3068).
+  * Gujian 3: Fixed rendering issues on some GPUs. (#1784)
+  * Resident Evil 4 HD: Fixed invalid Vulkan usage causing a GPU hang on RADV. 
(PR #3089)
+  * Saints Row: The Third: Fixed a severe performance issue with rain when 
using the D3D9 renderer.
+    (#2473, PR #3158)
+  * Sekiro: Shadows Die Twice: Fixed stuttering issues on Nvidia GPUs. (#3179)
+  * Sonic Frontiers: Worked around a game bug that would cause shadows to 
flicker when GPU-bound.
+  * Supreme Commander: Forged Alliance: Fixed a crash after loading (#3058, PR 
#3060)
+  * Note: Due to changes to our DXGI implementation, older versions of 
vkd3d-proton (prior to 2.8)
+    will no longer work with this version of DXVK.
+
+-------------------------------------------------------------------

Old:
----
  dxvk-2.0.tar.gz

New:
----
  dxvk-2.1.tar.gz
  setup_dxvk.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dxvk.spec ++++++
--- /var/tmp/diff_new_pack.TMk6ep/_old  2023-05-15 16:54:58.140387865 +0200
+++ /var/tmp/diff_new_pack.TMk6ep/_new  2023-05-15 16:54:58.144387886 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           dxvk
-Version:        2.0
+Version:        2.1
 Release:        0
 Summary:        Vulkan-based D3D11 implementation for Linux / Wine
 License:        zlib-acknowledgement
@@ -25,6 +25,7 @@
 URL:            https://github.com/doitsujin/dxvk
 Source0:        %{name}-%{version}.tar.gz
 Source1:        baselibs.conf
+Source2:        setup_dxvk.sh
 
 BuildRequires:  gcc
 BuildRequires:  gcc-c++
@@ -82,7 +83,7 @@
 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
+    %{SOURCE2}> %{buildroot}%{_libexecdir}/%{name}/bin/setup_dxvk.sh
 ln -s %{_libexecdir}/%{name}/bin/setup_dxvk.sh 
%{buildroot}%{_bindir}/wine%{name}
 
 #install dxvk proper

++++++ dxvk-2.0.tar.gz -> dxvk-2.1.tar.gz ++++++
++++ 21915 lines of diff (skipped)

++++++ setup_dxvk.sh ++++++
#!/bin/bash

# default directories
dxvk_lib32=${dxvk_lib32:-"x32"}
dxvk_lib64=${dxvk_lib64:-"x64"}

# figure out where we are
basedir="$(dirname "$(readlink -f "$0")")"

# figure out which action to perform
action="$1"

case "$action" in
install)
  ;;
uninstall)
  ;;
*)
  echo "Unrecognized action: $action"
  echo "Usage: $0 [install|uninstall] [--without-dxgi] [--symlink]"
  exit 1
esac

# process arguments
shift

with_dxgi=true
file_cmd="cp -v --reflink=auto"

while (($# > 0)); do
  case "$1" in
  "--without-dxgi")
    with_dxgi=false
    ;;
  "--symlink")
    file_cmd="ln -s -v"
    ;;
  esac
  shift
done

# check wine prefix before invoking wine, so that we
# don't accidentally create one if the user screws up
if [ -n "$WINEPREFIX" ] && ! [ -f "$WINEPREFIX/system.reg" ]; then
  echo "$WINEPREFIX:"' Not a valid wine prefix.' >&2
  exit 1
fi

# find wine executable
export WINEDEBUG=-all
# disable mscoree and mshtml to avoid downloading
# wine gecko and mono
export WINEDLLOVERRIDES="mscoree,mshtml="

wine="wine"
wine64="wine64"
wineboot="wineboot"

# $PATH is the way for user to control where wine is located (including custom 
Wine versions).
# Pure 64-bit Wine (non Wow64) requries skipping 32-bit steps.
# In such case, wine64 and winebooot will be present, but wine binary will be 
missing,
# however it can be present in other PATHs, so it shouldn't be used, to avoid 
versions mixing.
wine_path=$(dirname "$(which $wineboot)")
wow64=true
if ! [ -f "$wine_path/$wine" ]; then
   wine=$wine64
   wow64=false
fi

# resolve 32-bit and 64-bit system32 path
winever=$($wine --version | grep wine)
if [ -z "$winever" ]; then
    echo "$wine:"' Not a wine executable. Check your $wine.' >&2
    exit 1
fi

# ensure wine placeholder dlls are recreated
# if they are missing
$wineboot -u

win64_sys_path=$($wine64 winepath -u 'C:\windows\system32' 2> /dev/null)
win64_sys_path="${win64_sys_path/$'\r'/}"
if $wow64; then
  win32_sys_path=$($wine winepath -u 'C:\windows\system32' 2> /dev/null)
  win32_sys_path="${win32_sys_path/$'\r'/}"
fi

if [ -z "$win32_sys_path" ] && [ -z "$win64_sys_path" ]; then
  echo 'Failed to resolve C:\windows\system32.' >&2
  exit 1
fi

# create native dll override
overrideDll() {
  $wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $1 /d native 
/f >/dev/null 2>&1
  if [ $? -ne 0 ]; then
    echo -e "Failed to add override for $1"
    exit 1
  fi
}

# remove dll override
restoreDll() {
  $wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $1 /f > 
/dev/null 2>&1
  if [ $? -ne 0 ]; then
    echo "Failed to remove override for $1"
  fi
}

# copy or link dxvk dll, back up original file
installFile() {
  dstfile="${1}/${3}.dll"
  srcfile="${basedir}/${2}/${3}.dll"

  if [ -f "${srcfile}.so" ]; then
    srcfile="${srcfile}.so"
  fi

  if ! [ -f "${srcfile}" ]; then
    echo "${srcfile}: File not found. Skipping." >&2
    return 1
  fi

  if [ -n "$1" ]; then
    if [ -f "${dstfile}" ] || [ -h "${dstfile}" ]; then
      if ! [ -f "${dstfile}.old" ]; then
        mv -v "${dstfile}" "${dstfile}.old"
      else
        rm -v "${dstfile}"
      fi
      $file_cmd "${srcfile}" "${dstfile}"
    else
      echo "${dstfile}: File not found in wine prefix" >&2
      return 1
    fi
  fi
  return 0
}

# remove dxvk dll, restore original file
uninstallFile() {
  dstfile="${1}/${3}.dll"
  srcfile="${basedir}/${2}/${3}.dll"

  if [ -f "${srcfile}.so" ]; then
    srcfile="${srcfile}.so"
  fi

  if ! [ -f "${srcfile}" ]; then
    echo "${srcfile}: File not found. Skipping." >&2
    return 1
  fi

  if ! [ -f "${dstfile}" ] && ! [ -h "${dstfile}" ]; then
    echo "${dstfile}: File not found. Skipping." >&2
    return 1
  fi

  if [ -f "${dstfile}.old" ]; then
    rm -v "${dstfile}"
    mv -v "${dstfile}.old" "${dstfile}"
    return 0
  else
    return 1
  fi
}

install() {
  installFile "$win64_sys_path" "$dxvk_lib64" "$1"
  inst64_ret="$?"

  inst32_ret=-1
  if $wow64; then
    installFile "$win32_sys_path" "$dxvk_lib32" "$1"
    inst32_ret="$?"
  fi

  if (( ($inst32_ret == 0) || ($inst64_ret == 0) )); then
    overrideDll "$1"
  fi
}

uninstall() {
  uninstallFile "$win64_sys_path" "$dxvk_lib64" "$1"
  uninst64_ret="$?"

  uninst32_ret=-1
  if $wow64; then
    uninstallFile "$win32_sys_path" "$dxvk_lib32" "$1"
    uninst32_ret="$?"
  fi

  if (( ($uninst32_ret == 0) || ($uninst64_ret == 0) )); then
    restoreDll "$1"
  fi
}

# skip dxgi during install if not explicitly
# enabled, but always try to uninstall it
if $with_dxgi || [ "$action" == "uninstall" ]; then
  $action dxgi
fi

$action d3d9
$action d3d10core
$action d3d11

Reply via email to