[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