Bug 111248

Summary: Navi10 Font rendering issue in Overwatch
Product: Mesa Reporter: Matt <m.mcnutt>
Component: Drivers/Vulkan/radeonAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
i915 platform: i915 features:
Attachments: example of font rendering issue
fonts correct on amdvlk (ignore snowy artefacts)

Description Matt 2019-07-29 11:16:23 UTC
Created attachment 144905 [details]
example of font rendering issue

Fedora 30 kernel 5.3rc2
Mesa-git - 19.2 git a69ab1b7
llvm - 10 gitba47e51

GPU RX 5700XT (navi 10)

Present with both DXVK and wined3d, RADV or even amdvlk

Fonts appear cut in half on the diagonal of each character. So far only found in Overwatch, other proton games appear to render fonts correctly
Comment 2 Matt 2019-08-09 09:21:28 UTC
Moving this to Vulkan / RADV bug

Loading the game up under the latest amdvlk from 26/7 renders the fonts correctly (albeit with artefacts that are inherent to that build at the moment on Navi10). It seems I was mistaken under my initial testing, the game fails to render at all under wined3d.

Mesa: 19.2 git 39a90749
LLVM: 10.0 git git4575679
Kernel: 5.2.3 with DRM-NEXT patchset
Comment 3 Matt 2019-08-09 09:22:04 UTC
Created attachment 144991 [details]
fonts correct on amdvlk (ignore snowy artefacts)
Comment 4 Bas Nieuwenhuizen 2019-08-09 13:34:25 UTC
Anyone able to get a renderdoc capture for this?
Comment 6 Bas Nieuwenhuizen 2019-08-10 12:45:03 UTC
Seems like a Geometry Shader issue with NGG (primitive shaders). You can specify RADV_DEBUG=nongg as a workaround for now.
Comment 7 Matt 2019-08-11 04:22:06 UTC
confirming that RADV_DEBUG=nongg workaround fixes the font rendering
Comment 8 Samuel Pitoiset 2019-08-22 13:36:31 UTC
Should be addressed by https://gitlab.freedesktop.org/mesa/mesa/commit/c037fe5ad1b3556809e5a549306a52a8a8bd1cbf

Thanks for the report.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.