misyltoad/d9vk

Guild Wars 2: Lines on the ground

LingMan opened this issue · 3 comments

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

  • GPU: AMD R9 390 (HAWAII)
  • Driver: Mesa 19.2.4/LLVM 9.0.0
  • Wine version: wine-4.19.r17.gf94a2747 ( TkG Staging Esync Fsync )
  • D9VK version: 0.30 as well as latest master (3a3a734, froggi.es build #890)

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

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.

Works fine on NV btw...

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.