Joshua-Ashton / d9vk

A Direct3D9 to Vulkan layer using the DXVK backend. [Upstreamed to DXVK]
https://github.com/doitsujin/dxvk
zlib License
833 stars 42 forks source link

Guild Wars 2: Lines on the ground #450

Closed LingMan closed 4 years ago

LingMan commented 4 years ago

Screenshot from 2019-10-13 01-43-54

Guild Wars 2 has faint straight lines on the ground. In the screenshot above they are most visible on the mushrooms we are standing on but they are also on the ground below.

This is how it should look (ignore the more vibrant colors, those are due to different post-processing settings): IZ1ds6J

Note: These screenshots are already a few weeks old, but I re-confirmed the bug on newer software versions specified below.

System information

Apitrace file(s)

Recorded on Win10 with an Nvidia 2080 Ti. Replaying it on Linux with my AMD card reproduces the problem. This trace was previously linked on discord and someone confirmed the problem on radv and on amdvlk but could not reproduce on Nvidia.

https://drive.google.com/open?id=1Ae248_oBGBl-wif2CLtscVwj5GXu1SOc

Log files

GW2-64_d3d9.log

Joshua-Ashton commented 4 years ago

So I spent waaaaaaaaaaaaaaaaaaaaaaaayyyyy too long investigating this.

I'm almost sure this is due to some sort of driver quirk/imprecision somewhere. Changing the coords s4_2d is sampled by like 0.0001 fixes the problem, additionally changing it to r2 = texture(s4_2d, floor(_1255.xy * 107) / 107); also fixes it, which makes no sense.

The texture is point sampled.

Joshua-Ashton commented 4 years ago

Works fine on NV btw...

LingMan commented 4 years ago

The fix for radv landed in Mesa 20.0.6 and - as expected - solves the problem for me. Great work figuring this one out, guys. Thank you! Screenshot from 2020-05-14 00-22-36

The fix for amdvlk is in master and the fix for radeonsi (which will solve this problem for WineD3D and Nine) should be merged soon as well. Don't think there's anything left to track here, so I'm closing this issue.