On Fri, Nov 13, 2015 at 9:25 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:> Hello Hans, > > Not to muddy the waters or anything, have you thought about the NIR > integration that Rob was thinking about ? > I'm pretty sure he'll be happy to have extra people helping him out.How would that in any way plug into llvm or nouveau? There's no OpenCL C -> NIR, and there's no NIR -> nv50 IR... -ilia
Connor Abbott
2015-Nov-13 15:38 UTC
[Nouveau] [Mesa-dev] llvm TGSI backend (WIP) questions
On Fri, Nov 13, 2015 at 9:38 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:> On Fri, Nov 13, 2015 at 9:25 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote: >> Hello Hans, >> >> Not to muddy the waters or anything, have you thought about the NIR >> integration that Rob was thinking about ? >> I'm pretty sure he'll be happy to have extra people helping him out. > > How would that in any way plug into llvm or nouveau? There's no OpenCL > C -> NIR, and there's no NIR -> nv50 IR... > > -iliaNot to mention that there's no support for unstructured control flow in NIR right now, which is a requirement for OpenCL. There might be, but don't count on it. Personally, I would think that the best thing long-term would be to add SPIR-V as a possible IR and convert OpenCL C, since TGSI is... err... less than perfect, for a variety of reasons, and adding a SPIR-V parser is going to be easier and more stable than integrating into the LLVM interfaces. Unfortunately, the final version of the spec isn't released yet, and the only tool for producing it is currently based on an older version of LLVM, but people are working on both problems and at least one of them isn't going to be a problem very soon :)
On 13 November 2015 at 14:38, Ilia Mirkin <imirkin at alum.mit.edu> wrote:> On Fri, Nov 13, 2015 at 9:25 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote: >> Hello Hans, >> >> Not to muddy the waters or anything, have you thought about the NIR >> integration that Rob was thinking about ? >> I'm pretty sure he'll be happy to have extra people helping him out. > > How would that in any way plug into llvm or nouveau? There's no OpenCL > C -> NIR, and there's no NIR -> nv50 IR... >I thought that you've been (remotely) exploring the latter possibility. Isn't that the case ? -Emil
On Fri, Nov 13, 2015 at 3:42 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:> On 13 November 2015 at 14:38, Ilia Mirkin <imirkin at alum.mit.edu> wrote: >> On Fri, Nov 13, 2015 at 9:25 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote: >>> Hello Hans, >>> >>> Not to muddy the waters or anything, have you thought about the NIR >>> integration that Rob was thinking about ? >>> I'm pretty sure he'll be happy to have extra people helping him out. >> >> How would that in any way plug into llvm or nouveau? There's no OpenCL >> C -> NIR, and there's no NIR -> nv50 IR... >> > I thought that you've been (remotely) exploring the latter > possibility. Isn't that the case ?Not to my knowledge. I did look at doing SPIR -> nv50 ir (not to be confused with SPIR-V), but that was ~1.5y ago. I got stuck in control flow and llvm ir frustration. The fact that I had to go out-of-ssa didn't help. At this point I don't see any upside to using NIR. -ilia