Bug 110662

Summary: shadow artifacts in Assassin's Creed: Unity
Product: Mesa Reporter: tempel.julian
Component: Drivers/Vulkan/radeonAssignee: mesa-dev
Status: RESOLVED MOVED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: fdsfgs
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: renderdoc capture part 1
renderdoc capture part 2
renderdoc capture part 3
renderdoc capture part 4
renderdoc capture part 5
renderdoc capture part 6/6
same corruption in Odyssey

Description tempel.julian 2019-05-10 21:00:12 UTC
Especially in interiors like this, there are "holes" and stripe artifacts in shadow maps:
https://abload.de/img/screenshot_20190510_24djhr.png

They also wander and change shape in motion, making the corruption quite perceivable.

The issue does not occur with proprietary amdvlk driver (open amdvlk hangs) and neither on Windows with DX11. Using Nvidia PCSS GameWorks effect mitigates or stops the issue, but it's very expensive.

Uploading renderdoc capture right now.

Latest git-master versions of dxvk and mesa were used.
Comment 1 tempel.julian 2019-05-10 21:04:02 UTC
Created attachment 144224 [details]
renderdoc capture part 1
Comment 2 tempel.julian 2019-05-10 21:07:56 UTC
Created attachment 144225 [details]
renderdoc capture part 2
Comment 3 tempel.julian 2019-05-10 21:11:00 UTC
Created attachment 144226 [details]
renderdoc capture part 3
Comment 4 tempel.julian 2019-05-10 21:13:15 UTC
Created attachment 144227 [details]
renderdoc capture part 4
Comment 5 tempel.julian 2019-05-10 21:16:06 UTC
Created attachment 144228 [details]
renderdoc capture part 5
Comment 6 tempel.julian 2019-05-10 21:18:15 UTC
Created attachment 144229 [details]
renderdoc capture part 6/6
Comment 7 tempel.julian 2019-06-09 11:32:44 UTC
The issue is still present with
mesa-git  19.2.0_devel.111622.f8f222ea364
llvm-libs-git  9.0.0_r318552.0d20969deaf

The game now works with the latest open amdvlk driver. Like amdgpu-pro, it doesn't show this issue.
Comment 8 Samuel Pitoiset 2019-06-11 17:00:07 UTC
How does it look with AMDVLK?
Comment 9 tempel.julian 2019-06-11 18:04:54 UTC
With amdvlk, the shadows look correct (no weird bright spots that wander with the camera).
There is an issue with amdvlk though related to the game's effect of the level's borders, but that seems totally unrelated to any shadow issues, I'd say.
Comment 10 tempel.julian 2019-06-11 18:12:58 UTC
A screenshot with amdvlk without the artifacts:
https://abload.de/img/screenshot_20190611_2elj3e.png

The issue is most prominent with radv when the sun is shining.
Comment 11 Samuel Pitoiset 2019-06-11 18:17:12 UTC
The artifacts with RADV are only with the minimap right?
Comment 12 tempel.julian 2019-06-11 18:53:33 UTC
After turning off the minimap in the game's options, the "shadowmap holes" are still there with radv (look a bit like drops in this screenshot):

https://abload.de/img/screenshot_20190611_28wkhv.png
Comment 13 Samuel Pitoiset 2019-06-11 18:57:51 UTC
I don't see what's wrong?
Comment 14 tempel.julian 2019-06-11 19:01:03 UTC
I've highlighted the artifacts:
https://abload.de/img/screenshot_20190611_2jqkx1.png

It looks quite worse in motion, as these bright spots shift their shape, wander etc.
Comment 15 Samuel Pitoiset 2019-06-11 19:04:44 UTC
Oh okay, I see :-)
Comment 16 tempel.julian 2019-07-26 22:06:44 UTC
Created attachment 144874 [details]
same corruption in Odyssey
Comment 17 tempel.julian 2019-07-26 22:08:27 UTC
I've added a screenshot showing the same corruption in Assassin's Creed: Odyssey (no issues with amdvlk).
That means that likely also the titles "Syndicate" and "Origins" of that game series are affected as well, which sums up to at least four games with that corruption.
Comment 18 tempel.julian 2019-08-10 18:10:04 UTC
Someone here reports of the issue in Origins, but only with ACO:
https://github.com/daniel-schuermann/mesa/issues/105
Perhaps I was a bit too quick judging it was the same issue on Odyssey as in Unity, will recheck.
Comment 19 tempel.julian 2019-08-17 09:26:05 UTC
So I rechecked with recent ACO build which fixes AC: Origins and Odyssey, and it indeed also fixes Unity.
But the issue in Unity is still there when using LLVM. So, afterall, it seems it is a bug in LLVM and not radv (hence closing).
Comment 20 Michel Dänzer 2019-08-19 10:18:57 UTC
(In reply to tempel.julian from comment #19)
> But the issue in Unity is still there when using LLVM. So, afterall, it
> seems it is a bug in LLVM and not radv (hence closing).

It's too early too conclude that. RADV could be feeding something bad to LLVM. AMDVLK also uses LLVM, after all.

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.