[Mesa-dev] [RFC] ARB_gl_spirv and NIR backend for radeonsi

Timothy Arceri tarceri at itsqueeze.com
Sun May 21 15:17:52 UTC 2017


<snip>

> 
> 3. NIR vs. TGSI
> ---------------
> It is *not* a goal for this project to use NIR for normal GLSL shaders. 
> We'll keep the TGSI backend at least for now. But it makes sense to 
> think ahead.
> 
> A minor disadvantage of NIR is that the GLSL-to-NIR path is not as solid 
> as the GLSL-to-TGSI path yet, but this shouldn't be too difficult to 
> overcome.
> 
> The major disadvantage of NIR is that it doesn't have serialization. 
> radeonsi uses the fact that TGSI *is* a serialization format for two 
> things:
> 
> - The internal shader cache, which avoids re-compiling the same shader 
> over and over again when it's linked into different programs. (This part 
> only needs a strong hash.)
> 
> - The (disk) shader cache stores the TGSI so that it's available in case 
> additional shader variants need to be compiled on the fly.
> 
> Some ideas:
> 
> 1. Add a serialization format for NIR. This is the most straight-forward 
> solution, but it's a lot of work for a comparatively small feature.

This would simplify the i965 cache fallback path a lot. I *think* it 
also solves the blocking issue (or at least the major one) with a vc4 
(and a guess freedreno) on-disk shader cache.


<snip>


More information about the mesa-dev mailing list