joshua-ashton / d9vk Goto Github PK
View Code? Open in Web Editor NEWA Direct3D9 to Vulkan layer using the DXVK backend. [Upstreamed to DXVK]
Home Page: https://github.com/doitsujin/dxvk
License: zlib License
A Direct3D9 to Vulkan layer using the DXVK backend. [Upstreamed to DXVK]
Home Page: https://github.com/doitsujin/dxvk
License: zlib License
🐸
VS_2074c07329803990ef40c1032f3c8963f9e34c60.spv
error: line 124: OpStore Pointer <id> '59[oPSize]'s type does not match Object <id> '63's type.
OpStore %oPSize %63
Hi,
here a traces for different games wich still show issues with the wip compiler branch:
Red Alert 3:
Different graphical issues.
https://drive.google.com/open?id=1aCu-lANTJotYQQt5R9Q5TUVY7vtTPDR9
Call of Juarez Bound in Blood:
The game has very bad vertex explosions.
https://drive.google.com/open?id=1BpqcB5itNdeIceGSj3fF-Dk_Nt4AUMKD
Duken Nukem Forever:
Is rendered to dark and the textures don't load in full resolution it seems.
https://drive.google.com/open?id=1zEXBd_KEzF8XhfTB1p9BlQNisSSl_bCp
The Darkness 2:
The menu renders fine, in game all is black except some hud parts.
https://drive.google.com/open?id=1OrVVRR3pjhPi95mstrOnxK8C0VIsJSmj
Many thanks, keep on your great work !!
Christian
@Joshua-Ashton Hi! Thank you for your great work!
Sorry, but I just want to ask you, what the current readiness of your project? How much is it currently ready? Can I just now try to test it with a few games that I usually play or it will be better if I will wait some more time?
My dx9 game collections runs well with d9vk, but there is no options for antialiasing in these games, so I really need to use SweetFX to inject SMAA or FXAA, so is there any chance that d9vk will support SweetFX in the future or is that impossible?
Dead Space now renders in-game with Low settings, however, there are issues with lighting and misaligned menus. I'll try making a video later once I figure out why OBS won't record full screen games.
Dead Space Low settings preset
The game loads absolutely fine but is entirely black from start to finish. Judging from the sound the entire game logic works as intended but absolutely nothing is displayed.
FlatOut 2 on lowest settings (higher settings have the same symptoms)
Dragon's Dogma: Dark Arisen now loads without crashing, as of b91f6e2, but the 3D elements are solid white, excepting HUD elements.
Dragon's Dogma: Dark Arisen using Proton 4.2-2 + Steam + 32-bit D9VK
https://mega.nz/#!Q8lymKJA!43INKkLuugaDD7ysqk5aQh76JpdjSeziWLtL9Pn9ZxE
Here is the failure error:
[227/227] Linking target src/d3d9/d3d9.dll.
FAILED: src/d3d9/d3d9.dll
i686-w64-mingw32-g++ -o src/d3d9/d3d9.dll 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_main.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_interface.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_monitor.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_caps.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_device.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_cursor.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_swapchain.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_format.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_presenter.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_common_texture.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_texture.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_surface.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_volume.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_common_buffer.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_buffer.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_shader.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_vertex_declaration.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_query.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_multithread.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_options.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_sampler.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_util.cpp.obj' 'src/d3d9/ecc23b3@@d3d9@sha/d3d9_initializer.cpp.obj' ../source/src/d3d9/d3d9.def -shared ../source/src/d3d9/d3d9.def -Wl,--start-group -Wl,--out-implib=src/d3d9/d3d9.dll.a src/dxso/libdxso.a src/dxvk/libdxvk.a src/util/libutil.a src/spirv/libspirv.a src/vulkan/libvkcommon.a /home/user/build/d9vk/source/lib32/vulkan-1.lib -pthread -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group -static -static-libgcc -static-libstdc++ -Wl,--add-stdcall-alias,--enable-stdcall-fixup
/usr/bin/i686-w64-mingw32-ld: src/d3d9/ecc23b3@@d3d9@sha/d3d9_interface.cpp.obj: in function `ZN12IDirect3D9ExC2Ev':
/usr/share/mingw-w64/include/d3d9.h:1590: undefined reference to `vtable for IDirect3D9Ex'
/usr/bin/i686-w64-mingw32-ld: src/d3d9/ecc23b3@@d3d9@sha/d3d9_interface.cpp.obj:d3d9_interface.cpp:(.rdata$_ZTVN4dxvk9ComObjectIJ12IDirect3D9ExEEE[__ZTVN4dxvk9ComObjectIJ12IDirect3D9ExEEE]+0x54): undefined reference to `IDirect3D9Ex::GetAdapterDisplayModeEx(unsigned int, D3DDISPLAYMODEEX*, D3DDISPLAYROTATION*)@16'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Build failed!
Doing it on current Debian testing:
i686-w64-mingw32-g++ --version
i686-w64-mingw32-g++ (GCC) 8.2-posix 20190215
Hi. I'm trying to override vendor/device ID, I put this into dxvk.conf:
d3d9.customVendorId = "10de"
d3d9.customDeviceId = "402"
But game (Fallout 3 launcher, actually) still reports that i have Intel GPU. That's what i see in d3d9.log:
info: Effective configuration:
info: d3d9.customDeviceId = "402"
info: d3d9.customVendorId = "10de"
Can someone else test if vendor/device ID overriding works?
d3d9 log ends with err: DxsoCodeSlice: End of stream
. (full log:
TS4_x64_d3d9.log )
Stuff spirv-val complains about:
FS_1173323f0d9002dcca8010ff428ef4354ab4bfc7.spv
error: line 94: OpEntryPoint interfaces must be OpVariables with Storage Class of Input(1) or Output(3). Found Storage Class 6 for Entry Point id 2.
%p0 = OpVariable %_ptr_Private_v4float Private
FS_4a25fe0d3308a0c7922e927189f8bfa55b87c36c.spv
error: line 191: Expected Result Type to be a composite type
%112 = OpCompositeConstruct %float %111 %111 %111 %111
FS_4cd6154128cfdbf78c8204309efeb0048338638b.spv
error: line 271: ID 156[cf3] defined in block 154 does not dominate its use in block 138
%138 = OpLabel
Shaderdump with some of the shaders ran through spirv-cross (saved with .cross
, some could not be because spirv-cross borks out with SPIRV-Cross threw an exception: Cannot subdivide a scalar value!
): shaderdump.zip
Apitrace: https://yadi.sk/d/xF3y_FkB2HVCkA
Observed Results: Black Screen on start up. This happens on both Windows 10 and WINE.
Everquest 2
Eldritch shows yellow lines in 3D rendering. I found commit 92217a5 to be causing this.
Eldritch
Black Screen, with cursor and sound playing
Warhammer Online, Windowed and fullscreen tested.
none atm, can do if needed
d3d9.log:
WAR_d3d9.log
dxgi.log:
WAR_dxgi.log
Title.
Archlinux
[60/263] Compiling C++ object 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o'.
FAILED: tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o
wineg++ -Itests/d3d9/ffcce2f@@d3d9-buffer@exe -Itests/d3d9 -I../d9vk/tests/d3d9 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -g -DNOMINMAX -m64 --no-gnu-unique -MD -MQ 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o' -MF 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o.d' -o 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o' -c ../d9vk/tests/d3d9/test_d3d9_buffer.cpp
../d9vk/tests/d3d9/test_d3d9_buffer.cpp: In constructor 'BufferApp::BufferApp(HINSTANCE, HWND)':
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:52:10: error: 'memset' is not a member of 'std'
std::memset(data, 0xFC, 512);
^~~~~~
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:52:10: note: suggested alternative: 'mem_fn'
std::memset(data, 0xFC, 512);
^~~~~~
mem_fn
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:54:30: error: 'ARRAYSIZE' was not declared in this scope
for (uint32_t i = 0; i < ARRAYSIZE(g_UsagePermuatations); i++) {
^~~~~~~~~
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:54:30: note: suggested alternative: 'ARRAYDESC'
for (uint32_t i = 0; i < ARRAYSIZE(g_UsagePermuatations); i++) {
^~~~~~~~~
ARRAYDESC
../d9vk/tests/d3d9/test_d3d9_buffer.cpp: In member function 'void BufferApp::testBuffer(uint8_t*, DWORD, DWORD)':
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:76:10: error: 'memcpy' is not a member of 'std'
std::memcpy(bufferMem, data, 512);
^~~~~~
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:76:10: note: suggested alternative: 'mem_fn'
std::memcpy(bufferMem, data, 512);
^~~~~~
mem_fn
winegcc: g++ failed
[77/263] Compiling C++ object 'tests/d3d9/ffcce2f@@d3d9-triangle@exe/test_d3d9_triangle.cpp.o'.
FAILED: tests/d3d9/ffcce2f@@d3d9-triangle@exe/test_d3d9_triangle.cpp.o
wineg++ -Itests/d3d9/ffcce2f@@d3d9-triangle@exe -Itests/d3d9 -I../d9vk/tests/d3d9 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -g -DNOMINMAX -m64 --no-gnu-unique -MD -MQ 'tests/d3d9/ffcce2f@@d3d9-triangle@exe/test_d3d9_triangle.cpp.o' -MF 'tests/d3d9/ffcce2f@@d3d9-triangle@exe/test_d3d9_triangle.cpp.o.d' -o 'tests/d3d9/ffcce2f@@d3d9-triangle@exe/test_d3d9_triangle.cpp.o' -c ../d9vk/tests/d3d9/test_d3d9_triangle.cpp
../d9vk/tests/d3d9/test_d3d9_triangle.cpp: In constructor 'TriangleApp::TriangleApp(HINSTANCE, HWND)':
../d9vk/tests/d3d9/test_d3d9_triangle.cpp:143:10: error: 'memcpy' is not a member of 'std'
std::memcpy(data, vertices.data(), vbSize);
^~~~~~
../d9vk/tests/d3d9/test_d3d9_triangle.cpp:143:10: note: suggested alternative: 'mem_fn'
std::memcpy(data, vertices.data(), vbSize);
^~~~~~
mem_fn
winegcc: g++ failed
[109/263] Compiling C++ object 'src/dxbc/5c53ffa@@dxbc@sta/dxbc_compiler.cpp.o'.
ninja: build stopped: subcommand failed.
after patch with
diff --git a/tests/d3d9/test_d3d9_buffer.cpp b/tests/d3d9/test_d3d9_buffer.cpp
index c237bc38..e1cfa210 100644
--- a/tests/d3d9/test_d3d9_buffer.cpp
+++ b/tests/d3d9/test_d3d9_buffer.cpp
@@ -1,3 +1,5 @@
+#include <cstring>
+
#include <d3d9.h>
#include "../test_utils.h"
diff --git a/tests/d3d9/test_d3d9_clear.cpp b/tests/d3d9/test_d3d9_clear.cpp
index 9715333f..aa221125 100644
--- a/tests/d3d9/test_d3d9_clear.cpp
+++ b/tests/d3d9/test_d3d9_clear.cpp
@@ -1,3 +1,5 @@
+#include <cstring>
+
#include <d3d9.h>
#include "../test_utils.h"
diff --git a/tests/d3d9/test_d3d9_triangle.cpp b/tests/d3d9/test_d3d9_triangle.cpp
index 568bf7bc..8ea514dc 100644
--- a/tests/d3d9/test_d3d9_triangle.cpp
+++ b/tests/d3d9/test_d3d9_triangle.cpp
@@ -1,3 +1,5 @@
+#include <cstring>
+
#include <d3d9.h>
#include <d3dcompiler.h>
i get
[73/263] Compiling C++ object 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o'.
FAILED: tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o
wineg++ -Itests/d3d9/ffcce2f@@d3d9-buffer@exe -Itests/d3d9 -I../d9vk/tests/d3d9 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -g -DNOMINMAX -m64 --no-gnu-unique -MD -MQ 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o' -MF 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o.d' -o 'tests/d3d9/ffcce2f@@d3d9-buffer@exe/test_d3d9_buffer.cpp.o' -c ../d9vk/tests/d3d9/test_d3d9_buffer.cpp
../d9vk/tests/d3d9/test_d3d9_buffer.cpp: In constructor 'BufferApp::BufferApp(HINSTANCE, HWND)':
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:56:30: error: 'ARRAYSIZE' was not declared in this scope
for (uint32_t i = 0; i < ARRAYSIZE(g_UsagePermuatations); i++) {
^~~~~~~~~
../d9vk/tests/d3d9/test_d3d9_buffer.cpp:56:30: note: suggested alternative: 'ARRAYDESC'
for (uint32_t i = 0; i < ARRAYSIZE(g_UsagePermuatations); i++) {
^~~~~~~~~
ARRAYDESC
winegcc: g++ failed
[122/263] Compiling C++ object 'src/dxvk/1752c3e@@dxvk@sta/dxvk_context.cpp.o'.
ninja: build stopped: subcommand failed.
if use -j1
[224/263] Compiling C++ object 'src/d3d9/ecc23b3@@d3d9.dll@sha/d3d9_device.cpp.o'.
FAILED: src/d3d9/ecc23b3@@d3d9.dll@sha/d3d9_device.cpp.o
wineg++ -Isrc/d3d9/ecc23b3@@d3d9.dll@sha -Isrc/d3d9 -I../d9vk/src/d3d9 -I../d9vk/./include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -g -DNOMINMAX -fPIC -m64 --no-gnu-unique -MD -MQ 'src/d3d9/ecc23b3@@d3d9.dll@sha/d3d9_device.cpp.o' -MF 'src/d3d9/ecc23b3@@d3d9.dll@sha/d3d9_device.cpp.o.d' -o 'src/d3d9/ecc23b3@@d3d9.dll@sha/d3d9_device.cpp.o' -c ../d9vk/src/d3d9/d3d9_device.cpp
In file included from ../d9vk/src/d3d9/d3d9_device.cpp:6:
../d9vk/src/d3d9/d3d9_texture.h: In member function 'void dxvk::Direct3DBaseTexture9<SubresourceType, Base>::GenerateMipSubLevels()':
../d9vk/src/d3d9/d3d9_texture.h:79:7: error: 'm_parent' was not declared in this scope
m_parent->GenerateMips(&m_texture);
^~~~~~~~
../d9vk/src/d3d9/d3d9_texture.h:79:7: note: suggested alternative: '_m_pandn'
m_parent->GenerateMips(&m_texture);
^~~~~~~~
_m_pandn
winegcc: g++ failed
ninja: build stopped: subcommand failed.
greetings
Hello,
I have been attempting to get Anarchy Online (the new engine which uses dx9) to work with d9vk.
But it results in the game crashing right after clicking "play" and its about to take you ingame.
It gives a game crash message and before that message pops up my gnome desktop becomes really sluggish, not sure why that is happening but could be cause d9vk is in the early stages.
Anyways I wanted to help out by putting this issue out there and get some idea what is missing if anything is missing.
Anarchy Online New Engine
Apitrace from a Windows10 machine with Geforce 680:
Apitrace.zip
I were unable to do an apitrace with the game via Wine but hope this is fine.
Game also spits out this logfile: AnarchyCrashLog.txt
Not sure if it is to any use but posting anyways.
Thank you in advance also thanks for the great work with d9vk so far.
" " 002b:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
terminate called after throwing an instance of 'dxvk::DxvkError'
" "
cos_l_d3d9.log
Kde Neon
Wine staging 4.7
I have noticed that D9VK with low CPU overhead completely get rid of Fallout New Vegas stuttering (wich exist on Gallium-Nine).
Also, D9VK supports DX9 for WPF as Nine
Will be DXVK_ASYNC=1 ported to D9VK?
Heads up for integrating dx9 into dxvk. I would love to see it.
Can you provide some ideas or information what to expect? Are you re-using already implemented functions like done by Christopher Joseph Dean Schaefer or is the way you plan to implement it way different?
Screen is black but game works.
Stalker Shadow of Chernobyl with patch 1.0004 (i use this patch because it's compatible with mods, unlike 1.0006)
https://www.dropbox.com/s/8d0rj0ywfgi1dgw/Stalker%20Shadow%20of%20Chernobyl%20%28patch%201.0004%2C%20menu%20only%29%20%5Bd3d9%5D.tar.xz?dl=0
Apitrace produces two files simultaneously. I didn't apitrace actual gameplay, only menu, else trace grows larger than 1Gb. Full dynamic lighting enabled when apitracing, but screen is black even with full static lighting. I tried to apitrace with static lighting but it still produces such large traces. Yes, this game is glitchy, but it's the classic game.
edit: menu is also black so these apitraces should be enough to reproduce the bug.
Any updates in the last two days that would render half-life 2 unplayable?
This guy's half-life 2 is completely playable 2 days ago with only a couple rendering issues. Mine, not so much.
https://www.youtube.com/watch?v=HNpBncAs0Ek
https://i.imgur.com/9raWxLD.png - main menu.
Will happily provide more information if it is something on my end.
.NET WPF depending on DX9 + D3Dcompiler_47
With gallium-nine everything OK, almost.
Do you plan in the future to send a pull request to DXVK to merge your changes with the DXVK master?
Thank you.
Observed Results: Black Screen with no music on start up. Up until yesterday's (4-11-19) update to git master everything rendered except for character models. This happens on both Windows 10 and WINE.
Everquest
Hello,
on X-Men Origins Wolverine, the main menu miss light with d9vk.
without d9vk (wine 4.6 staging)
d3d9.log
Wolverine_d3d9.log
Config: Ubuntu 19.04 Disco Dingo 64 bits - NVIDIA GeForce GTX 770 - Nvidia drivers 418.56 - 1920x1080 - Processor Intel i5-3570 3,4 Ghz - 16 Go RAM
Do you need apitrace?
Several older games do not allow setting MSAA in the in-game options. It would be nice if there was a D9VK_MSAA=8 option which forced the sample count to 8x.
$ ./package-release.sh master ./build --no-package
The Meson build system
Version: 0.45.1
Source dir: /home/rachael/d9vk
Build dir: /home/rachael/d9vk/build/dxvk-master/build.64
Build type: cross build
Project name: dxvk
Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0")
Cross C compiler: x86_64-w64-mingw32-gcc (gcc 7.3.0)
Native C++ compiler: c++ (gcc 7.3.0 "c++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0")
Cross C++ compiler: x86_64-w64-mingw32-g++ (gcc 7.3.0)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Build machine cpu family: x86_64
Build machine cpu: x86_64
Checking if "winelib check" compiles: NO
Program x86_64-w64-mingw32-windres found: YES (/usr/bin/x86_64-w64-mingw32-windres)
Library vulkan-1 found: YES
Library d3d9 found: YES
Library d3d11 found: YES
Library dxgi found: YES
Library d3dcompiler_43 found: YES
Library d3dcompiler_47 found: YES
Program glslangValidator found: YES (/usr/bin/glslangValidator)
Dependency threads found: YES
Dependency threads found: YES (cached)
Build targets in project: 13
Found ninja-1.8.2 at /usr/bin/ninja
[3/242] Generating version.h with a custom command.
fatal: No names found, cannot describe anything.
[4/242] Compiling C++ object 'src/util/util@sta/com_com_guid.cpp.obj'.
FAILED: src/util/util@sta/com_com_guid.cpp.obj
x86_64-w64-mingw32-g++ -Isrc/util/util@sta -Isrc/util -I../../../src/util -I../../.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -DNOMINMAX -MD -MQ 'src/util/util@sta/com_com_guid.cpp.obj' -MF 'src/util/util@sta/com_com_guid.cpp.obj.d' -o 'src/util/util@sta/com_com_guid.cpp.obj' -c ../../../src/util/com/com_guid.cpp
In file included from ../../../src/util/com/../../d3d11/d3d11_include.h:3:0,
from ../../../src/util/com/../../d3d11/d3d11_interfaces.h:3,
from ../../../src/util/com/com_guid.cpp:3:
../../../src/util/com/../../d3d11/../dxgi/dxgi_include.h:28:10: fatal error: dxgi1_4.h: No such file or directory
#include <dxgi1_4.h>
^~~~~~~~~~~
compilation terminated.
[9/242] Compiling C++ object 'src/util/util@sta/config_config.cpp.obj'.
ninja: build stopped: subcommand failed.
Sorry for not recording apitrace, if you need it, please tell me, and I will record it.
The Witcher doesn't render intro movies (green screen) but it does render the menu screen just not the menus. I can load my game save but it crashes before ever reaching in-game.
The Witcher Enhanced Edition w/ Rise of the White Wolf mod
Splinter Cell Chaos Theory Ubisoft original CDs (I assume the steam version should be similar but I'm testing with Lutris + D9VK).
Goes in-game but nothing is rendered, all black screen. You can still hear the sound.
-unable to provide one.
Wall and floor has incorrect textures. Game draws solid color squares which are covered in digital camo-like pixelated texture. Pixels are moving all the time.
https://i.imgur.com/knqF9sE.jpg
Latest Steam version, any settings.
https://drive.google.com/open?id=1sGgfHyjobyi6jNTKiEZb9_Tima6x-tsN
The initial loading screen of the game renders black. The main menu UI isn't rendered, but the ingame background renders ok except for the npcs that move around.
The log file contains some unhandled op-codes and grows extremely fast due to a spam of warn: D3D9DeviceEx::SetMaterial: Stub
.
On Windows 10 the 64bit client gets stuck on a black screen while on WINE it gets to the character select screen and crashes. The 32bit client was not tested.
GuildWars 2 64-bit client
I can move the mouse around and click everything just fine, I just can't see the mouse icon itself. This may have something to do with most 2D sprites not being shown properly. A screenshot of said glitches is shown below (should I open a different issue for that?).
The minimap is invisible and the ability bar should be filled with ability sprites.
World of Warcraft: Wrath of The Lich King
I tried getting an apitrace but couldn't get Wine to use apitrace's d3d9.dll, it just ignored the overrides.
Sidenote: The game wouldn't even open yesterday, and today it's running smoothly, other than these issues above. Awesome!
DXVK_SHADER_DUMP_PATH=/home/user/.../dumplocation
to the location you want d9vk to dump its shaders (directories must exists)spirv-val
on all of the dumped shaders:for i in *.spv; do
echo $i
spirv-val $i
done
Guild 2 crashes, but dumping the shaders and running spirv-val worked. So here are the invalid shaders.
VS_bca7272b16585f37b83f01956056660e2d050e6b.spv
error: line 171: Result type (OpTypeInt) does not match the type that results from indexing into the composite (OpTypeFloat).
%59 = OpCompositeExtract %int %58 0
This error occurred in multiple shaders, if you want a 2nd one please tell me.
VS_bf70ef6d077b993bd733c73c480424a10d156f90.spv
error: line 248: Reached non-composite type while indexes still remain to be traversed.
%137 = OpCompositeExtract %int %136 0
FS_d3b510fb64530da674a5ac7001f747f9fbd09ed0.spv
error: line 752: ID 448[%cf2] defined in block 445[%445] does not dominate its use in block 577[%577]
%577 = OpLabel
After the game finishes loading, it instantly crashes.
More minor issues include the main menu background being rendered white. The particle effects used for the game name while loading are also not displayed.
Dragon's Dogma: Dark Arisen using Proton 4.2-2 + Steam + D9VK d3d9.dll 32-bit
https://mega.nz/#!Q8lymKJA!43INKkLuugaDD7ysqk5aQh76JpdjSeziWLtL9Pn9ZxE
Tried it with Arkham Asylum and the game just hangs on launch. Portal 2 shows the same error but ReShade doesn't show up. Black Ops launches but has a second screen in the top left.
All these games work fine before adding the ReShade d3d9.dll to the game folder.
Here's the d3d9.log from ReShade for Arkham Asylum:
13:34:02:095 [00065] | INFO | Initializing crosire's ReShade version '4.2.1.542' (32-bit) built on '2019-03-04 22:32:13' loaded from "Z:\mnt\storage2\SteamLibrary\SteamApps\common\Batman Arkham Asylum GOTY\Binaries\d3d9.dll" to "Z:\mnt\storage2\SteamLibrary\SteamApps\common\Batman Arkham Asylum GOTY\Binaries\ShippingPC-BmGame.exe" ...
13:34:02:109 [00065] | INFO | Registering hooks for "user32.dll" ...
13:34:02:109 [00065] | INFO | > Libraries loaded.
13:34:02:110 [00065] | INFO | > Found 13 match(es). Installing ...
13:34:02:114 [00065] | INFO | Registering hooks for "ws2_32.dll" ...
13:34:02:114 [00065] | INFO | > Libraries loaded.
13:34:02:114 [00065] | INFO | > Found 8 match(es). Installing ...
13:34:02:117 [00065] | INFO | Registering hooks for "C:\windows\system32\d3d9.dll" ...
13:34:02:117 [00065] | INFO | > Delayed until first call to an exported function.
13:34:02:118 [00065] | INFO | Registering hooks for "C:\windows\system32\d3d10.dll" ...
13:34:02:118 [00065] | INFO | > Delayed.
13:34:02:118 [00065] | INFO | Registering hooks for "C:\windows\system32\d3d10_1.dll" ...
13:34:02:119 [00065] | INFO | > Delayed.
13:34:02:119 [00065] | INFO | Registering hooks for "C:\windows\system32\d3d11.dll" ...
13:34:02:121 [00065] | INFO | > Delayed.
13:34:02:121 [00065] | INFO | Registering hooks for "C:\windows\system32\dxgi.dll" ...
13:34:02:122 [00065] | INFO | > Delayed.
13:34:02:122 [00065] | INFO | Registering hooks for "C:\windows\system32\opengl32.dll" ...
13:34:02:122 [00065] | INFO | > Delayed.
13:34:02:122 [00065] | INFO | Initialized.
13:34:02:728 [00065] | INFO | Redirecting Direct3DCreate9(32) ...
13:34:02:742 [00065] | INFO | Installing export hooks for "C:\windows\system32\d3d9.dll" ...
13:34:02:742 [00065] | INFO | > Found 9 match(es). Installing ...
13:34:02:857 [00065] | INFO | Installing delayed hooks for "C:\windows\system32\opengl32.dll" (Just loaded via LoadLibrary("ddraw.dll")) ...
13:34:02:857 [00065] | INFO | > Found 359 match(es). Installing ...
13:34:02:924 [00065] | INFO | Redirecting wglChoosePixelFormat(00260049, 02F8DE14) ...
13:34:02:925 [00065] | INFO | > Dumping pixel format descriptor:
13:34:02:925 [00065] | INFO | +-----------------------------------------+-----------------------------------------+
13:34:02:925 [00065] | INFO | | Name | Value |
13:34:02:925 [00065] | INFO | +-----------------------------------------+-----------------------------------------+
13:34:02:925 [00065] | INFO | | Flags | 0x25 |
13:34:02:925 [00065] | INFO | | ColorBits | 32 |
13:34:02:925 [00065] | INFO | | DepthBits | 0 |
13:34:02:925 [00065] | INFO | | StencilBits | 0 |
13:34:02:925 [00065] | INFO | +-----------------------------------------+-----------------------------------------+
13:34:02:926 [00065] | INFO | > Returned format: 3
13:34:02:926 [00065] | INFO | Redirecting wglSetPixelFormat(00260049, 3, 02F8DE14) ...
13:34:02:926 [00065] | INFO | Redirecting wglCreateContext(00260049) ...
13:34:02:926 [00065] | INFO | > Passing on to 'wglCreateLayerContext' ...
13:34:02:926 [00065] | INFO | Redirecting wglCreateLayerContext(00260049, 0) ...
13:34:02:926 [00065] | INFO | Redirecting wglCreateContext(00260049) ...
13:34:02:926 [00065] | INFO | > Passing on to 'wglCreateLayerContext' ...
13:34:02:926 [00065] | INFO | Redirecting wglCreateLayerContext(00260049, 0) ...
13:34:02:926 [00065] | INFO | Redirecting wglCreateContext(00260049) ...
13:34:02:927 [00065] | INFO | > Passing on to 'wglCreateLayerContext' ...
13:34:02:927 [00065] | INFO | Redirecting wglCreateLayerContext(00260049, 0) ...
13:34:02:927 [00065] | INFO | Redirecting wglCreateContext(00260049) ...
13:34:02:927 [00065] | INFO | > Passing on to 'wglCreateLayerContext' ...
...
The log goes on but just keeps repeating these lines
Redirecting wglCreateLayerContext(00260049, 0) ...
Redirecting wglCreateContext(00260049) ...
> Passing on to 'wglCreateLayerContext' ...
Despite other glitches the main one is the constantly degrading GPU usage (so FPS).
From ~100FPS to ~5FPS in several minutes.
The perf
utility says:
std::_Hashtable<dxvk::D3D9SamplerKey, std::pair<dxvk::D3D9SamplerKey const, dxvk::Rcdxvk::DxvkSampler >, std::allocator<std::pair<dxvk::D3D9SamplerKey const, dxvk::Rcdxvk::DxvkSampler > >, std::__detail::_Select1st, dxvk::D3D9SamplerKeyEq, dxvk::D3D9SamplerKeyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node (15,388 samples, 40.58%)
Test:
--- a/src/d3d9/d3d9_device.cpp
+++ b/src/d3d9/d3d9_device.cpp
@@ -3829,9 +3829,9 @@
key.MaxMipLevel = state[D3DSAMP_MAXMIPLEVEL];
key.BorderColor = D3DCOLOR(state[D3DSAMP_BORDERCOLOR]);
- auto pair = m_samplers.find(key);
- if (pair != m_samplers.end())
- return pair->second;
+ //auto pair = m_samplers.find(key);
+ //if (pair != m_samplers.end())
+ // return pair->second;
auto mipFilter = DecodeMipFilter(key.MipFilter);
@@ -3855,7 +3855,7 @@
Rc<DxvkSampler> sampler = m_dxvkDevice->createSampler(info);
- m_samplers.insert(std::make_pair(key, sampler));
+ //m_samplers.insert(std::make_pair(key, sampler));
return sampler;
}
GPU usage seems OK with this patch, the problem indeed somewhere in the "sampler".
Other problems (FYI):
EDIT: "black is red"
README.md is still from DXVK so maybe it should change to prevent confusion?
Game draws cylinder on the top half of the screen which obscures the view, it scales with FOV angle.
Screenshot:
https://steamuserimages-a.akamaihd.net/ugc/972124142076415321/779FFB141C269EDBB3DBE6A9F9910B233B96A185/
Payday the heist, latest version on Steam, any settings.
https://drive.google.com/file/d/14IaQWzw5Y7SHK7QNTD-0GNQLxcQ9L24B
On Windows 10 it crashes at the character select screen, but on WINE it does not crash. Instead it has corrupted textures and NPC hover text is rotated 90 degrees.
Example 1
Example 2
TERA Online
Observed Results: On Windows 10 Videos and Menus render correctly. 3D rendering does not. At the start screen you should see an Ultramarine fighting Orcs and instead it is a black screen. Once into game play everything is a black screen. On WINE the game crashes after Warning Screen is displayed. I believe the crash is due to a WINE bug and not D9VK because its running otherwise on Windows 10.
Warhammer 40,000 Space Marine
The d9vk shader compiler fails to parse some shaders with invalid opcodes and out of range source registers
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
err: DxsoDecodeContext::decodeSourceRegister: source register out of range.
warn: DxsoCompiler::processInstruction: unhandled opcode: Invalid Opcode (2337)
warn: DxsoCompiler::processInstruction: unhandled opcode: Invalid Opcode (21062)
warn: DxsoCompiler::processInstruction: unhandled opcode: Invalid Opcode (248)
Game is Artificial Academy 2. Default dxvk settings.
https://mega.nz/#F!wYRXAYia!FQjOZi69z0sLf921baRw5g
aa2edit-shadersv1.zip
aa2edit-shadersv2.zip
Hi! Yes, I know that D9VK is still in early development, so for the time being we should not expect too much from it, but I’ll just write in advance about this issue.
StarCraft 2 (Direct3D9-only game).
I try to apitrace Stalker Shadows of Chernobyl (D3D9 game).
DXVK suggests to do this: wine apitrace.exe trace -a dxgi YOURGAME.exe
But apitrace says this:
warning: Z:\home\redneck\programs\apitrace-msvc\x86\bin\..\lib\wrappers\dxgitrace.dll was never used: application probably does not use this API
and doesn't produce .trace file, while the game works while being apitraced.
Everything seems to render fine except for Shepard's face and armor. Faces don't render right on some NPCs either. Also, menus don't align if the game resolution isn't equal to the screen res.
https://www.youtube.com/watch?v=fsw_Onh66lE
Mass Effect 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.