[Mesa-dev] NIR, SCons, and Gallium

Connor Abbott cwabbott0 at gmail.com
Mon Jan 11 21:53:55 PST 2016


On Mon, Jan 11, 2016 at 9:21 AM, Jose Fonseca <jfonseca at vmware.com> 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.

So, to answer the immediate question -- one way we could get NIR used
and tested with scons/gallium relatively soon would be to pick up
Eric's NIR -> TGSI work and use it to replace the Mesa IR -> TGSI path
with Mesa IR -> NIR -> TGSI. It would a simpler stepping-stone to GLSL
-> NIR -> TGSI since you don't have to deal with more modern features,
and it would have a few tangible benefits: old assembly shaders would
get much better optimizations before being passed to drivers, and it
would get us closer to the goal of replacing Mesa IR entirely by
getting rid of the second-to-last direct consumer of Mesa IR (the last
one being r200).

>
>
> 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
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list