Summary: | [regression, bisected] radeonsi: commit 4c8c13b3 "Use amdgcn intrinsics for fs interpolation" makes system unusable | ||
---|---|---|---|
Product: | Mesa | Reporter: | Alexandre Demers <alexandre.f.demers> |
Component: | Drivers/Gallium/radeonsi | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED NOTABUG | QA Contact: | Default DRI bug account <dri-devel> |
Severity: | normal | ||
Priority: | medium | CC: | mexahotabop, nhaehnle, tstellar |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Alexandre Demers
2016-12-07 04:59:06 UTC
(In reply to Alexandre Demers from comment #0) > LLVM 4.0.0svn r288795 The Mesa commit you bisected requires LLVM SVN r288865 ("AMDGPU: Add llvm.amdgcn.interp.mov intrinsic") or newer. (In reply to Michel Dänzer from comment #1) > (In reply to Alexandre Demers from comment #0) > > LLVM 4.0.0svn r288795 > > The Mesa commit you bisected requires LLVM SVN r288865 ("AMDGPU: Add > llvm.amdgcn.interp.mov intrinsic") or newer. Isn't there a check done against LLVM's version? Does it have the needed granularity to point to a given a commit/revision? Older LLVM from svn is officially unsupported. Latest LLVM from svn usually works with Mesa git, but not always. Which makes bisecting a lot harder, but understandable that the devs don't want to have the burden of having many intermediate workarounds in the code that's not used for any of the actual llvm releases. But what I came here to say is that I have llvm 3.9.0 from the Archlinux Repos and this commit breaks everything for me too. (In reply to Christoph Haag from comment #4) > Which makes bisecting a lot harder, but understandable that the devs don't > want to have the burden of having many intermediate workarounds in the code > that's not used for any of the actual llvm releases. It's not about what we want — there's simply no way to know which SVN revision of LLVM we're building against. So it's not possible for Mesa to work with LLVM SVN snapshots both before and after incompatible API changes. All we can try to ensure is that current Mesa Git master works with current LLVM SVN trunk. > But what I came here to say is that I have llvm 3.9.0 from the Archlinux > Repos and this commit breaks everything for me too. Fixed in https://cgit.freedesktop.org/mesa/mesa/commit/?id=26ba8c920d2727cae8ab45096db70e4691b00245 . The build system already uses llvm-config --version which contains the revision for svn versions. Of course it breaks when you update llvm without rebuilding mesa, and you probably don't want to run llvm-config --version every time the mesa libraries are loaded, so yea...
Anyway
> Fixed in
> https://cgit.freedesktop.org/mesa/mesa/commit/
> ?id=26ba8c920d2727cae8ab45096db70e4691b00245 .
Thanks, that fixed it on my llvm 3.9.
(In reply to Christoph Haag from comment #6) > The build system already uses llvm-config --version which contains the > revision for svn versions. That just prints "4.0.0svn" for me, using the LLVM Git mirror. *** Bug 99026 has been marked as a duplicate of this bug. *** (In reply to Michel Dänzer from comment #7) > (In reply to Christoph Haag from comment #6) > > The build system already uses llvm-config --version which contains the > > revision for svn versions. > > That just prints "4.0.0svn" for me, using the LLVM Git mirror. Same here, so sadly no revision info. However, just to be clear (since I'm unable to test it right now): am I understanding from Christoph's comment that we are allowing the driver to be built against LLVM 3.9? If we rely on features included after the 3.9 release, shouldn't mesa check for 4.0.0svn (at least, beginning from 4c8c13b3)? Mesa only checks for LLVM 4.0. There is no distinction between LLVM 4.0 and 4.0svn. If you want LLVM git, you always have to update Mesa from git along with LLVM and hope for the best. Or you can stick with LLVM 3.9 and only use Mesa git. (In reply to Alexandre Demers from comment #9) > If we rely on features included after the 3.9 release, shouldn't mesa check for > 4.0.0svn (at least, beginning from 4c8c13b3)? The commit you bisected to does that, grep for HAVE_LLVM. However, there was a typo in the intrinsic name used with LLVM 3.9 and older. |
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.