[Mesa-dev] [PATCH 01/17] glsl/nir: add new num_packed_components field

Timothy Arceri timothy.arceri at collabora.com
Fri Jul 8 04:31:34 UTC 2016


On Thu, 2016-07-07 at 20:12 -0700, Jason Ekstrand wrote:
> 
> On Jul 7, 2016 7:47 PM, wrote:
> >
> >
> > On Jul 7, 2016 9:59 AM, "Kenneth Graunke" <kenneth at whitecape.org>
> wrote:
> > >
> > > On Thursday, July 7, 2016 11:58:43 AM PDT Timothy Arceri wrote:
> > > > This will be used to store the total number of components used
> at this location
> > > > when packing via ARB_enhanced_layouts.
> > > > ---
> > > >  src/compiler/glsl/glsl_to_nir.cpp   |  1 +
> > > >  src/compiler/glsl/ir.h              |  5 +++
> > > >  src/compiler/glsl/link_varyings.cpp | 74
> ++++++++++++++++++++++++++++++++++++-
> > > >  src/compiler/glsl/linker.cpp        |  2 +
> > > >  src/compiler/glsl/linker.h          |  4 ++
> > > >  src/compiler/nir/nir.h              |  5 +++
> > > >  6 files changed, 89 insertions(+), 2 deletions(-)
> > >
> > > I still hate this field.  I'm going to try and come up with an
> alternate
> > > solution.  I'll keep you posted.

I look forward to any suggestions :)

> >
> > On a first brush, me too.
> I still haven't finished reading but here's a maybe useful (don't
> count on it; I'm working on half a brain right now) suggestion:  It
> seems rather easy to declare an array uint8_t
> components[MAX_LOCATION] and do a real quick walk of the inputs to
> populate it.  Then we can just use that when we set up interpolation.

I believe the problem I was having was with arrays, see patch 4.

On top of that as far I can tell the spec allows arrays starting at
different locations and of different sizes  etc to be packed together.
I believe there is likely still corner cases my series doesn't catch
yet to do with arrays but I haven't yet created piglit tests to cover
ever scenario. 


> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list