-
Notifications
You must be signed in to change notification settings - Fork 835
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Warcraft 3 (32 bit): VK_EXT_extended_dynamic_state graphic glitch #1808
Comments
You don't need to run apitrace.exe, you can just copy Given that Warcraft III is no longer available, this is the only hope of getting any sort of debugging done on this problem, although I'd rather suspect some sort of driver issue given that it seems to work on other hardware, and a DXVK problem with that extension affecting only this one game seems unlikely. |
Ok, so I did that and the FPS dropped a lot. Ironically, they dropped so much that the glitch is not visible anymore. However, I managed to get the trace file now (I zipped it because otherwise GitHub won't let me upload it here directly): |
Not really seeing anything out of the ordinary, no Vulkan validation errors, and no glitches in the arguably extremely short trace. |
Is there any benchmark or example that I can run which might use that extension to try to reliably reproduce the problem? If it's a driver issue it shouldn't be confined to only one game. |
DXVK always uses the extension if it's supported, in order to correctly cap vertex buffer sizes. There's no way to disable it. |
Understood... I guess I'll need to test with other 3D applications/games... so far tried the test from |
Also tested this by running an old version of the WoW client (32bit, DX9) and the problem is not present. Might be related to WC3 then, and given that I have a workaround (compiling the driver with the ext disabled) I'm happy for this issue to be closed, at least until there's a reliable way to reproduce and understand what exactly it's happening. Thanks for your help @doitsujin ! |
Looks like this game (including The Frozen Throne expansion) uses DirectX 8 (see logs below). There is a 1.31 patch for the game that seems to add DirectX 11, which means DXVK can actually hook in there. The problem is some Battle.net alternatives like ICCup are still using (Thanks for guihkx for showing how to get these debug lines).
|
Wow amazingly, the Dxwrapper Dx8 -> Dx9 thing @guihkx found worked out for me. It runs at full 95 fps on my monitor when it's running in fullscreen mode. I dropped 30 frames here because I was abusing the render pipeline by spamming Razor's massive AOE spell over and over in WTF mode in DotA. I would recommended most users just update to the latest Warcraft though, if that's an option. I imagine DX11->Vulkan will run faster than the 8->9 -> Vulkan. More info: it requires 3 files (1 ini + 2 dll) in the root of the game dir: -rw-r--r-- 1 user group 415K Nov 25 21:40 d3d8.dll
-rw-r--r-- 1 user group 1.8M Nov 25 21:40 dxwrapper.dll
-rw-r--r-- 1 user group 2.3K Nov 25 21:41 dxwrapper.ini The important thing in |
I was referring to that version specifically, which runs on Directx 9 or 11. On older versions of the game you can use the OpenGL backend which seems solid (however 1.31 with DX11/DXVK gives smoother experience in my system) |
That's right, 1.31 is the best patch to use. It looks like it may be the final patch for WC3, so hopefully Blizzard ports everything correctly to the Reforged client. Avoid the older ones if you can. If anyone wants to see patch numbers where respective DirectX upgrades took place, we did some sleuthing in another repo: |
Looks like https://gitlab.freedesktop.org/mesa/mesa/-/commit/c763926c7632aea9c60f54f44d0e86d7ba33aa86 solved the problem for good! The fix is included in the release 20.3.1 of the Intel Vulkan drivers. |
Fantastic! I downloaded dxwrapper but I don't know how to use it. After reading your reply, I finally used it. My problem has been solved. Thank you very much. |
After updating the Intel Vulkan driver (32 bit version) on Arch Linux graphic glitches/rendering issues (intermittent flashing rendered objects, ~ every 2 seconds) started to appear.
By doing a
git bisect
on the driver, I identified the commit that introduced the issue, that is https://gitlab.freedesktop.org/mesa/mesa/-/commit/32e0f7e09721d4097f7b134b679053f48c216668, which enables theVK_EXT_extended_dynamic_state
extension.Not sure whether it's a driver bug, or something in DXVK. Is it possible to disable the extension at runtime as workaround?
Software information
Warcraft 3 (v1.31 32 bit build), both with DirectX 11 and 9
System information
Apitrace file(s)
apitrace.exe
but, I get:And can't find the trace file anywhere :-(
Log files
d3d9.log: Warcraft III_d3d9.log
d3d11.log: Warcraft III_d3d11.log
dxgi.log: Warcraft III_dxgi.log
The text was updated successfully, but these errors were encountered: