Bug 111152 - [DXVK][Regression][BISECTED][SKL] Everything is too bright on Elite Dangerous
Summary: [DXVK][Regression][BISECTED][SKL] Everything is too bright on Elite Dangerous
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Ian Romanick
QA Contact: Intel 3D Bugs Mailing List
Keywords: bisected, regression
Depends on:
Reported: 2019-07-17 00:24 UTC by leozinho29_eu
Modified: 2019-07-19 22:52 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

Screenshots (474.17 KB, application/gzip)
2019-07-17 00:24 UTC, leozinho29_eu
apitrace (compressed) (234.78 MB, application/gzip)
2019-07-17 01:36 UTC, leozinho29_eu

Description leozinho29_eu 2019-07-17 00:24:52 UTC
Created attachment 144805 [details]

It was noticed everything is too bright on Elite Dangerous now: this is a regression, as this was working correctly before. The first bad commit is 65df6122da9d171bc44f9ca969825478543b5384. The attached images shows the too bright environment and the normal environment. The bug 108662 and bug 111141 may be related. The complete bisect, for reference:

ubuntu@ubuntuamd64:~/mesa# git bisect log
git bisect start
# good: [7a7be6139839b57a89f5c6d24d04025fa25ba4a1] radv: ignore the loadOp if the first use of an attachment is a resolve
git bisect good 7a7be6139839b57a89f5c6d24d04025fa25ba4a1
# bad: [d4f0f1a6e21953a9bedc91f1de4366afdc51bb58] anv: Add android dependencies on android.
git bisect bad d4f0f1a6e21953a9bedc91f1de4366afdc51bb58
# bad: [e9286eb60b13d86ad59e1067fafea832347e5d1e] egl: replace dead vfunc with an error
git bisect bad e9286eb60b13d86ad59e1067fafea832347e5d1e
# bad: [12201d7a8be809d9dfbd682eeb4d73211ad96c00] freedreno: swap UBWC state in shadow path
git bisect bad 12201d7a8be809d9dfbd682eeb4d73211ad96c00
# bad: [2b29cf2468677a9e9b24b7854e6c2a7acd42a505] egl: remove Options::Platform handling
git bisect bad 2b29cf2468677a9e9b24b7854e6c2a7acd42a505
# bad: [486bc1e17ecc975f98fb495bd2f8ae580eebbf6e] ac: use amdgpu-flat-work-group-size
git bisect bad 486bc1e17ecc975f98fb495bd2f8ae580eebbf6e
# good: [e917bb7ad4300a1943a0100114c708915324127c] iris: Avoid holding the lock while allocating pages.
git bisect good e917bb7ad4300a1943a0100114c708915324127c
# bad: [65df6122da9d171bc44f9ca969825478543b5384] intel/compiler: Use compare rematerialization pass
git bisect bad 65df6122da9d171bc44f9ca969825478543b5384
# good: [cc59503b161424f4d1e3f7214967233be9e1f093] nir/vars_to_ssa: Properly ignore variables with complex derefs
git bisect good cc59503b161424f4d1e3f7214967233be9e1f093
# good: [6571032af1d2c00150c4a6699a5fc385dd174ab9] radeonsi/nir: Correctly handle double TCS/TES varyings
git bisect good 6571032af1d2c00150c4a6699a5fc385dd174ab9
# good: [da9f7ab6d4f7148e74b41ff0771b8cd581310912] panfrost: ci: Switch to kernel 5.2-rc2
git bisect good da9f7ab6d4f7148e74b41ff0771b8cd581310912
# good: [336eab063009ebc96c3625ef1b7cffb2501448ce] nir: Add a shallow clone function for nir_alu_instr
git bisect good 336eab063009ebc96c3625ef1b7cffb2501448ce
# good: [3ee2e84c608a022d2b83fb6c7f4fa5b8a33fa10c] nir: Rematerialize compare instructions
git bisect good 3ee2e84c608a022d2b83fb6c7f4fa5b8a33fa10c
# first bad commit: [65df6122da9d171bc44f9ca969825478543b5384] intel/compiler: Use compare rematerialization pass

System specifications:

Processor: Intel Core i3-6100U;
Video: Intel HD Graphics 520;
Architecture: amd64;
RAM memory: 20 GB;
Mesa: 19.2.0-devel (git-2614319259);
Kernel version: 4.19.59-041959-lowlatency;
Distribution: Xubuntu 18.04.2 amd64.
Comment 1 Jason Ekstrand 2019-07-17 00:37:09 UTC
Bisected commit points to Ian's new comparison re=materialization pass:


Can you provide a D3D apitrace file which reproduces the issue?
Comment 2 leozinho29_eu 2019-07-17 01:36:57 UTC
Created attachment 144806 [details]
apitrace (compressed)

Here is the apitrace. As this particular bug is already visible in the main menu, there is no need to go further in the game.
Comment 4 Jason Ekstrand 2019-07-19 19:46:39 UTC
Fixed by the following commit in master:

jason@omlet% git show                                    ~/projects/mesa/master
commit 6301f80b840d50f2f8ec4fc46adfe8ad43da53ab (HEAD -> master, origin/master, origin/HEAD)
Author: Jason Ekstrand <jason@jlekstrand.net>
Date:   Fri Jul 19 13:07:39 2019 -0500

    nir: Only rematerialize comparisons with all SSA sources
    Otherwise, you may end up moving a register read and that could result
    in an incorrect shader.  This commit fixes a rendering issue in Elite:
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111152
    Fixes: 3ee2e84c60 "nir: Rematerialize compare instructions"
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Comment 5 Mark Janes 2019-07-19 22:39:03 UTC
Is there an easy way to cover this case with a piglit test?
Comment 6 Mark Janes 2019-07-19 22:39:31 UTC
er, crucible test...
Comment 7 Jason Ekstrand 2019-07-19 22:52:34 UTC
(In reply to Mark Janes from comment #5)
> Is there an easy way to cover this case with a piglit test?

Can we write a test that will trigger this bug?  Yes.  Can we write one that will trigger it reliably across changes to other parts of the compiler?  No way.

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.