Originally reported on DXVK tracker:
Picture showing the corruption:
There are undesired dark lines visible in the ground texture around objects like bigger buildings.
They are visible with radv and amdvlk (open), but not with amdvlk (proprietary), and of course neither native DX11 on Windows.
Issue is not new, it probably has always existed or at least for quite some time now. Happens with LLVM 7/8 and Mesa 18.3/19.
I've created a renderdoc capture which I'm going to upload right now.
Created attachment 143162 [details]
renderdoc capture part 1
Created attachment 143163 [details]
renderdoc capture part 2
Created attachment 143164 [details]
renderdoc capture part 3
Created attachment 143166 [details]
renderdoc capture part 4
I also reported it to amdvlk developers:
But as it has turned out on the DXVK bugtracker, wined3d + radeonsi (OpenGL) shows exactly the same type of corruption.
I suppose this is a clear sign for a LLVM bug?
Would be great if Mesa developers could report it to LLVM. If there are more information required, I'd of course try to provide them.
I think this is a game bug: it's using implicit derivatives when sampling textures in non-uniform control flow. In the GLSL and SPIR-V spec, the results are undefined. I think it's the same with HLSL.
Since the control flow is non-uniform and (IIRC) LLVM seems to move the operations creating the texture coordinates into it, I think it's causing discontinuities and messing up the LOD calculation.