[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