https://bugs.freedesktop.org/show_bug.cgi?id=96877
Bug ID: 96877 Summary: Bioshock Infinite: LLVM triggered Diagnostic Handler: Illegal instruction detected: Operand has incorrect register class. Product: Mesa Version: git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: haagch@frickel.club QA Contact: dri-devel@lists.freedesktop.org
This happens on my HD 7970M.
"Very Low" graphics settings work fine but trying to start with "Medium" settings throws this error before it even gets to the menu.
The files are bit too big for bugzilla I think, so
Here is an stderr log with R600_DEBUG="vs,ps,gs,tes,tcs": http://haagch.frickel.club/files/err.txt.gz
Here is an apitrace that causes the error: http://haagch.frickel.club/files/bioshock.i386.trace.xz
Happened with latest mesa git and llvm 3.9.0svn_r274975 and now with 3.9.0svn_r275008 too.
https://bugs.freedesktop.org/show_bug.cgi?id=96877
--- Comment #1 from Nicolai Hähnle nhaehnle@gmail.com --- Created attachment 124987 --> https://bugs.freedesktop.org/attachment.cgi?id=124987&action=edit Reduced test case, fails with llc -march=amdgcn -verify-machineinstrs
I can reproduce this, and I obtained the attached reduced testcase which has an error since r274954 "AMDGPU: Improve offset folding for register indexing". I'm not sure how that change is related to the particular error that I get...
https://bugs.freedesktop.org/show_bug.cgi?id=96877
--- Comment #2 from Nicolai Hähnle nhaehnle@gmail.com --- Created attachment 124989 --> https://bugs.freedesktop.org/attachment.cgi?id=124989&action=edit Treat insert and extract equally in selectMOVRELOffsetImpl
The attached patch fixes the bug for me.
https://bugs.freedesktop.org/show_bug.cgi?id=96877
--- Comment #3 from Michel Dänzer michel@daenzer.net --- FWIW, Nicolai's patch seems to fix lots of piglit regressions on my Kaveri.
https://bugs.freedesktop.org/show_bug.cgi?id=96877
--- Comment #4 from Nicolai Hähnle nhaehnle@gmail.com --- Another update: there are two separate problems in LLVM which "cooperate" to lead to this bug. http://reviews.llvm.org/D22210 and http://reviews.llvm.org/D22217 fix both problems (and either is sufficient for this bug here).
https://bugs.freedesktop.org/show_bug.cgi?id=96877
Christoph Haag haagch@frickel.club changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #5 from Christoph Haag haagch@frickel.club --- Both of these are in in llvm svn now.
Enabling and disabling anti aliasing works without this error. Thanks for the fix.
dri-devel@lists.freedesktop.org