[Mesa-dev] NIR, SCons, and Gallium
Jose Fonseca
jfonseca at vmware.com
Wed Jan 13 12:36:03 PST 2016
On 11/01/16 14:21, Jose Fonseca wrote:
> FWIW, I updated SCons to build NIR, both with GCC and MSVC:
>
> http://cgit.freedesktop.org/~jrfonseca/mesa/log/?h=scons-nir
>
> It was actually simpler than I anticipated.
>
> But I hit a wall -- there's actually no way to get NIR used with
> softpipe/llvmpipe, not even as an intermediate IR somewhere between GLSL
> IR and TGSI, is there?
>
> Without this I can't actually test it. And I'm afraid the scons
> integration will rot again unless it is used.
>
>
> I know other gallium drivers already use NIR, but IIUC, they use NIR
> internally, ie., TGSI -> NIR-> HW.
>
>
> So what is exactly the long term plan for NIR in Mesa general, and
> Gallium in particular?
> - replace GLSL IR completely?
> - use NIR as intermediate IR betweem GLSL IR and TGSI, and run
> optimizations in there?
> - use NIR instead of TGSI at the gallium interface?
> - be only used internally by drivers?
> - something else?
>
>
> Jose
>
Thanks for all the replies.
So IIUC, there a NIR -> TGSI pass in progress, it's not ready for
production but there's several parties interested in having it as an option.
It's still not crystal clear to me whether building NIR with SCons and
MSVC will:
- accelerate sinergy (e.g make it easier to use more NIR code in more
places without risking build failures due to missing headers/symbols)
- or cause more trouble (ie make MSVC builds fail even more often)
I don't think there's any way to figure out but trying it. So I'm going
to polish my patches and post for review and get them committed.
And if it turns out that keeping NIR on a buildable state with MSVC ends
up causing more problems for everybody than it solves, we can take a
step back then (e.g, add a switch to not build NIR on MSVC, and set it
off by default.)
Jose
More information about the mesa-dev
mailing list