Bug 110216 - radv: Segfault when compiling compute shaders from Assassin's Creed Odyssey (regression, bisected)
Summary: radv: Segfault when compiling compute shaders from Assassin's Creed Odyssey (...
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
Depends on:
Reported: 2019-03-21 09:05 UTC by Philip Rebohle
Modified: 2019-03-21 10:52 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Compute shader that triggers the crash (37.88 KB, application/octet-stream)
2019-03-21 09:05 UTC, Philip Rebohle

Description Philip Rebohle 2019-03-21 09:05:44 UTC
Created attachment 143744 [details]
Compute shader that triggers the crash


trying to compile the attached compute shader (among others) causes the driver to segfault. The commit which introduced the issue is:

commit 3235a942c16b61849bc16a710c53f0a7a5566f0d (HEAD, refs/bisect/bad)
Author: Timothy Arceri <tarceri@itsqueeze.com>
Date:   Thu Dec 6 16:00:40 2018 +1100

    nir: find induction/limit vars in iand instruction

Please let me know if you need more info.
Comment 1 Timothy Arceri 2019-03-21 10:41:33 UTC
Sorry, it's been fixed I'm waiting on someone to review the patch.

Comment 2 Timothy Arceri 2019-03-21 10:52:45 UTC
Fixed by:

commit 427a6fee439b2df96edc813c56572169385772a6
Author: Timothy Arceri <tarceri@itsqueeze.com>
Date:   Tue Mar 19 12:09:36 2019 +1100

    nir: only override previous alu during loop analysis if supported
    Users of this function expect alu to be a supported comparision
    if the induction variable is not NULL. Since we attempt to
    override the return values if the first limit is not a const, we
    must make sure we are dealing with a valid comparision before
    overriding the alu instruction.
    Fixes an unreachable in inverse_comparison() with the game
    Assasins Creed Odyssey.
    Fixes: 3235a942c16b ("nir: find induction/limit vars in iand instructions")
    Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110216

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.