Bug 105282

Summary: Divinity: Original Sin Enhanced Edition blocky and jagged shadows.
Product: Mesa Reporter: Elliot Thomas <e.singularitycat>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: enhancement    
Priority: medium    
Version: 17.3   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Without "glsl_correct_derivatives_after_discard"
With "glsl_correct_derivatives_after_discard"

Description Elliot Thomas 2018-02-27 23:55:30 UTC
After working around the bugs described in #93551 and getting the game running, I noticed that unless the shadow quality setting was at "Ultra", all rendered shadows are blocky and jagged, with gaps appearing between the shadows cast be apparently solid objects.

I messed around with some driconf options, and discovered that this rendering issue goes away if setting the "glsl_correct_derivatives_after_discard" option.

Unfortunately, I couldn't get a working apitrace because of the LD_PRELOAD hacks, but attached are two screenshots of roughly the same area, one without the option (before.png) and one with (after.png).
Comment 1 Elliot Thomas 2018-02-27 23:56:41 UTC
Created attachment 137676 [details]
Without "glsl_correct_derivatives_after_discard"
Comment 2 Elliot Thomas 2018-02-27 23:57:14 UTC
Created attachment 137677 [details]
With "glsl_correct_derivatives_after_discard"
Comment 3 Timothy Arceri 2019-08-05 05:36:34 UTC
Should be fixed by:

commit 3c9144f9e5888e9a31886b64168f63e991da01d0
Author: Timothy Arceri <tarceri@itsqueeze.com>
Date:   Fri Aug 2 10:05:20 2019 +1000

    drirc: Add discard workaround for Divinity: Original Sin EE
    
    This adds an additional work around for the game to fix the blocky
    shadows as reported in bug 105282
    
    Acked-by: Eric Engestrom <eric.engestrom@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105282

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.