[Mesa-dev] [PATCH 03/10] nir: Get rid of *_indirect variants of input/output load/store intrinsics

Rob Clark robdclark at gmail.com
Thu Dec 3 17:03:49 PST 2015


On Thu, Dec 3, 2015 at 6:01 PM, Eric Anholt <eric at anholt.net> wrote:
> Jason Ekstrand <jason at jlekstrand.net> writes:
>
>> There is some special-casing needed in a competent back-end.  However, they
>> can do their special-casing easily enough based on whether or not the
>> offset is a constant.  In the mean time, having the *_indirect variants
>> adds special cases a number of places where they don't need to be and, in
>> general, only complicates things.  To complicate matters, NIR had no way to
>> convdert an indirect load/store to a direct one in the case that the
>> indirect was a constant so we would still not really get what the back-ends
>> wanted.  The best solution seems to be to get rid of the *_indirect
>> variants entirely.
>
> I've been putting off debugging this series because NIR intrinsic
> documentation has been bad at const_index[] versus src[] explanations
> and I only ever get my code working through cargo culting.  It looks
> like you simplify things a lot, but I'm going to ask for some
> clarification still.

btw, I 2nd the vagueness of docs wrt const_index[] vs src[]..  we
*really* should get Connor's nir docs[1] patch(es) merged.. I'd take a
pass at updating them as I go, if only to get the patches reviewed to
confirm that my understanding was correct ;-)

Anyways, after http://hastebin.com/kixugulabe.coffee not *everything*
is failing.. current status is at:
http://people.freedesktop.org/~robclark/tmp/tmp.log

[1] ie, whatever produces: http://people.freedesktop.org/~cwabbott0/nir-docs/


More information about the mesa-dev mailing list