[Mesa-dev] [RFC] More ARB_arrays_of_arrays support

Timothy Arceri t_arceri at yahoo.com.au
Tue Mar 24 05:07:32 PDT 2015


On Sat, 2015-03-21 at 09:27 -0700, Jason Ekstrand wrote:
> 
> On Mar 21, 2015 2:49 AM, "Timothy Arceri" <t_arceri at yahoo.com.au>
> wrote:
> >
> > This series adds most of the remaining glsl arrays of arrays
> support. Support for uniform blocks is still missing, I've played
> around with this but don't have anything working yet.
> >
> > What do you guys think about adding these changes without the
> uniform blocks support? Adding these changes now I assume would make
> it easy for the nir guys to start adding AoA support (if it doesn't
> exist already) and the intel backend changes could start to be worked
> on.
> 
> Support in NIR should "just work".  Of course that probably won't
> actually be the case.  However, if it does break something then that's
> a bug because the code is all there.  It should be easy to check since
> your already running on Intel.  If your i965 is IVB+, just do a piglit
> run with INTEL_USE_NIR=1.  If its older than that, I'll be pushing
> support for SNB and prior on Monday; just rebase.
> 
> The one place I know of where this will get dicey is in the sampler
> arrays portion of the ARB_gpu_shader5 extension.  That implementation
> is rather hacky and I'm pretty sure will fall flat on its face if
> milti-level arrays are involved.  I know NIR's implementation will
> assert-fail; the i965 code may just do the wrong thing.  In other
> words, tests are needed for that specific case.  However, I guess that
> falls under the category of yet-to-be-done uniform stuff.

It's been a while since I last ran my changes on the i965 driver and it
seems to work a lot better now. Not sure if that's because of changes to
the i965 backend or just my code being less buggy.
Anyway the good news is at least on the tests I have so far running on
NIR produces the same results as without it.
There is also only one test that fails on the i965 backend but passes on
Gallium (although it is a very simple test).



More information about the mesa-dev mailing list