紀錄用
dxvk issue for SW
Using v1.7.1 (including v1.7.1) will lead to bad display
#Compile Environment
#Using wsl2 Ubuntu 22.04
Commit check
#Ubuntu 22.04
sudo apt install mingw-w64 cmake meson python3-pip glslang-dev glslang-tools git
#switch to POSIX version
sudo update-alternatives --config x86_64-w64-mingw32-gcc; \
sudo update-alternatives --config x86_64-w64-mingw32-g++; \
sudo update-alternatives --config i686-w64-mingw32-gcc; \
sudo update-alternatives --config i686-w64-mingw32-g++;
#clone code
git clone --recursive https://github.com/doitsujin/dxvk.git dxvk/dxvk
#checkout version
cd dxvk/dxvk; git checkout v1.7
#build linker at ./dxvk-master and compile
./package-release.sh master ./ --no-package --dev-build
#You can see the files at ./dxvk-master/x32 and ./dxvk-master/x64
#For v2.0+ version, use llvm-mingw instead of mingw-w64
# remove mingw-w64
sudo apt purge --autoremove mingw-w64
# download llvm-mingw
# unpack
tar xf llvm-mingw-20230320-ucrt-ubuntu-18.04-x86_64.tar.xz
# set env
export PATH="$PWD/llvm-mingw-20230320-ucrt-ubuntu-18.04-x86_64/bin:$PATH" LD_LIBRARY_PATH="$PWD/llvm-mingw-20230320-ucrt-ubuntu-18.04-x86_64/lib"
#toolchain version
mseon 0.61.2
mingw gcc version 10-posix 20220113 (GCC)
mingw-w64-x86-64-dev 8.0.0-1
mingw-w64-common 8.0.0-1
llvm-mingw clang version 16.0.0 (https://github.com/llvm/llvmproject.git 08d094a0e457360ad8b94b017d2dc277e697ca76)
Commit check
This commit
commit 23691cd0ff6d9a2af6c84872cacf08e8cb5079c0
Author: Philip Rebohle <[email protected]>
Date: Wed Jun 24 15:00:01 2020 +0200
[dxvk] Enable extended dynamic state feature if available
Temporary fix
$git diff
diff --git a/src/dxvk/dxvk_adapter.cpp b/src/dxvk/dxvk_adapter.cpp
index d0d09c98..c16b0201 100644
--- a/src/dxvk/dxvk_adapter.cpp
+++ b/src/dxvk/dxvk_adapter.cpp
@@ -304,7 +304,7 @@ namespace dxvk {
DxvkNameList extensionNameList = extensionsEnabled.toNameList();
// Enable additional device features if supported
- enabledFeatures.extExtendedDynamicState.extendedDynamicState = m_deviceFeatures.extExtendedDynamicState.extendedDynamicState;
+ //enabledFeatures.extExtendedDynamicState.extendedDynamicState = m_deviceFeatures.extExtendedDynamicState.extendedDynamicState;
enabledFeatures.ext4444Formats.formatA4B4G4R4 = m_deviceFeatures.ext4444Formats.formatA4B4G4R4;
enabledFeatures.ext4444Formats.formatA4R4G4B4 = m_deviceFeatures.ext4444Formats.formatA4R4G4B4;
Test Result:
Only work to up to v1.9
v2.0 change extendedDynamicState method
v1.9 demo dll download