Mesa (master): 161 new commits

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Jan 15 15:20:40 UTC 2015


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d05d1226e0f51f703e0dcbf736375ee4f252473
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 14 19:08:32 2015 -0800

    nir/algebraic: Only replace an instruction once
    
    Without the break, it was possible that an instruction would match multiple
    expressions.  If this happened, you could end up trying to replace it
    multiple times and get a segfault.  This makes it so that, after a
    successful replacement, it moves on to the next instruction.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c56adc68e2e75276785fd933b47621c87f9fd3ee
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 14 15:25:52 2015 -0800

    i965/nir: Do a final copy lowering pass before lowering locals to regs
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f8531097523b3c997e0c01a2fb42391248f159f
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 14 15:20:49 2015 -0800

    nir/vars_to_ssa: Use the copy lowering from lower_var_copies
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3636da9026dd10493fb57b0d6803e33166abd1b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 14 15:19:49 2015 -0800

    nir: Add a pass for lowering copy instructions
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=700ba5daaf9ec340dc967bbf1ba355470a573b37
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 14 14:00:12 2015 -0800

    nir/vars_to_ssa: Refactor get_deref_node
    
    This refactor allows you to more easily get the deref node associated with
    a given variable.  We then use that new functionality in the
    deref_may_be_aliased function instead of creating a 1-element deref chain.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=55b5058e69859ba28c2f32de6edf5f0df3c6c28c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 14 12:41:15 2015 -0800

    nir: Rename lower_variables to lower_vars_to_ssa
    
    The original name wasn't particularly descriptive.  This one indicates that
    it actually gives you SSA values as opposed to the old pass which lowered
    variables to registers.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4aa6162f6ecf96c7400c17c310eba0cfd0f5e083
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Jan 9 20:01:13 2015 -0800

    nir/tex_instr: Add a nir_tex_src struct and dynamically allocate the src array
    
    This solves a number of problems.  First is the ability to change the
    number of sources that a texture instruction has.  Second, it solves the
    delema that may occur if a texture instruction has more than 4 sources.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dcb1acdea00a8f2c29777ff4078832df9d5b40ce
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 6 16:11:57 2015 -0800

    nir/validate: Only build in debug mode
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=347ab2bf245e67f72bc707b69f92c5a5dd0c49b4
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 6 13:15:40 2015 -0800

    nir/lower_variables: Improve documentation
    
    Additional description was added to a variety of places.  Also, we no
    longer use the term "leaf" to describe fully-qualified direct derefs.
    Instead, we simply use the term "direct" or spell it out completely.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8016fa39e12a4899cb33334a04efbea83e1404d3
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 6 13:14:00 2015 -0800

    nir/lower_variables: Use a for loop for get_deref_node
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c0ca8b6aec0842e396b81ef984ad01e00883c3e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jan 6 11:13:22 2015 -0800

    nir: Use the actual FNV-1a hash for hashing derefs
    
    We also switch to using loops rather than recursion.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3b73ccf6db3efe4ce0eed4c60d1e2709b335cac
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Jan 5 22:31:23 2015 -0800

    util/hash_table: Pull the details of the FNV-1a into helpers
    
    This way the basics of the FNV-1a hash can be reused to easily create other
    hashing functions.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4115ca9d824a27176c58fdeede392d4d99b0cab
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 19 15:56:55 2014 -0800

    nir: Make intrinsic flags into an enum
    
    This should be much better for debugging as GDB will pick up on the fact
    that it's an enum and actually tell you what you're looking at instead of
    giving you some arbitrary hex value you have to go look up.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed13f4e716f24f9d3ed89fd171bd13e3be548e3c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 19 15:30:15 2014 -0800

    nir: Use static inlines instead of macros for list getters
    
    This should make debugging a lot easier as GDB handles static inlines much
    better than macros.  Also, static inlines are typesafe.
    
    Reviewed-By: Glenn Kennard <glenn.kennard at gmail.com>
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b95fae034fad9471f179761790bd1f01f8bade5c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 19 14:55:45 2014 -0800

    nir/variable: Remove the constant_value field
    
    This was a left-over relic of GLSL IR that we aren't using for anything.
    If we ever want that value again, we can add it back, but NIR constant
    folding should be just as good as GLSL IR's if not better pretty soon, so
    I'm not worried about it.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8599b30c67f6918a77578fd5d67ae38cecaf189c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 18 17:13:22 2014 -0800

    nir: Add some documentation
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad9d0a9ea6d40db776e6680a44d614cd447dc17c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 18 14:42:01 2014 -0800

    nir/lower_variables: Follow the Cytron paper more closely
    
    Previously, our variable renaming algorithm, while similar to the one in
    the Cytron paper, was not the same.  While I'm pretty sure it was correct,
    it will be easier for readers of the code in the variable renaming pass if
    it follows more closely.  This commit removes the automatic stack popping
    we were doing and replaces it with explicit popping like Cytron does.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1d114a48c09306d18160e5b492c5f9db0bf6db2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 18 14:01:37 2014 -0800

    nir/print: Various cleanups recommended by Eric
    
    Cc: Eric Anholt <eric at anholt.net>
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2763339fe2592d17ba679d515eb4e338243d735
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 18 13:49:43 2014 -0800

    nir/lower_variables: Add a bunch of comments and re-arrange a few things
    
    This commit seeks to make the lower_variables pass much more clear by
    adding a pile of comments and re-arranging a few things.  There are no
    functional or algorithmic changes.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40ca129ed5aea647d103c99db926d3b2aabe4021
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 17 16:53:04 2014 -0800

    nir: Rename parallel_copy_copy to parallel_copy_entry and add a foreach macro
    
    parallel_copy_copy was a silly name.  Also, things were getting long and
    annoying, so I added a foreach macro.  For historical reasons, several of
    the original iterations over parallel copy entries in from_ssa used the
    _safe variants of the loop.  However, all of these no longer ever remove an
    entry so it's ok to make them all use the normal iterator.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b720c6ed868b3f231f63568fc360fe7c4024c02
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 17 15:34:47 2014 -0800

    nir/from_ssa: Clean up parallel copy handling and document it better
    
    Previously, we were doing a lazy creation of the parallel copy
    instructions.  This is confusing, hard to get right, and involves some
    extra state tracking of the copies.  This commit adds an extra walk over
    the basic blocks to add the block-end parallel copies up front.  This
    should be much less confusing and, consequently, easier to get right.  This
    commit also adds more comments about parallel copies to help explain what
    all is going on.
    
    As a consequence of these changes, we can now remove the at_end parameter
    from nir_parallel_copy_instr.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=de73d1e17318b9e7ed9d1f84bef56f6cc09bdf82
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 17 14:49:24 2014 -0800

    nir: Rename nir_block_following_if to nir_block_get_following_if
    
    The new name is a little longer but less confusing.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb53aacaa1555b98fa77146492e96a7e3d7631ba
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 17 12:34:27 2014 -0800

    i965/fs_nir: Handle sample ID, position, and mask better
    
    Before, we were emitting the full pile of setup instructions for sample_id
    and sample_pos every time they were used.  With this commit, we emit them
    in their own pass once at the beginning of the shader and simply emit uses
    later on.  When it comes time for setting up VS, we can put setup for its
    special values in the same pass.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=813316d1501e08da56a1021a7378d6b5e6371922
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 16 14:43:26 2014 -0800

    nir/opcodes: Remove the per_component info field
    
    Originally, this field was intended for determining if the given
    instruction acted per-component or if it had mismatching source and
    destination sizes that would have to be interpreted specially.  However, we
    can easily derive this from output_size == 0, so it's not really that
    useful.  Also, the values we were setting in nir_opcodes.h for this field
    were completely bogus and it was never used.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2a8f9e5ccb136f1e9460255054e34c11a41a422
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 16 12:26:38 2014 -0800

    nir/search: Use nir_op_infos to determine if an operation is commutative
    
    Prior to this commit, we had a big switch statement for this.  Now it's
    baked into the opcode metadata so we can just use that.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46f3e1ab504f016ab900c045f165a8376cf3fc0c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 16 12:22:01 2014 -0800

    nir/opcodes: Add algebraic properties metadata
    
    This commit adds some algebraic properties to the metadata of each opcode
    in NIR.  In particular, you now know, just from the metadata, if a given
    opcode is commutative or associative.  This will be useful for algebraic
    transformation passes that want to be able to match a + b as well as b + a
    in one go.
    
    v2: Make algebraic properties all caps.  This was more consistent with the
        intrinsics flags and seems better for flags in general.
    
        Also, the enums are now declared with (1 << n) rather then hex values.
    
    v3: fmin and fmax technically aren't commutative or associative.  Things
        get funny when one of the arguments is a NaN.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c7da78805175f36879111306ac37c12d33bf65b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 17:32:56 2014 -0800

    nir: Make load_const SSA-only
    
    As it was, we weren't ever using load_const in a non-SSA way.  This allows
    us to substantially simplify the load_const instruction.  If we ever need a
    non-SSA constant load, we can do a load_const and an imov.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=675ffdef3010400567a5f6f790f1f7bd2fede717
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 17:44:37 2014 -0800

    nir: Make nir_ssa_undef_instr_create initialize the destination
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=951a7f23a076c1570f68b50fc7d03a33eb5145e7
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 16:12:04 2014 -0800

    i965/nir: Move the other lowering passes to before out-of-SSA
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c16be1c521e4bad670bc81134526a568b82a4a7
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 17:37:07 2014 -0800

    nir/lower_system_values: Handle SSA destinations
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=821e75a16038aba23aa0d46c081c99f07ee44ecd
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 16:23:21 2014 -0800

    nir/lower_atomics: Use/support SSA
    
    Previously, lower_atomics was non-SSA only.  We assert-failed if the
    destination of an atomic operation intrinsic was an SSA def and we used
    temporary registers for computing offsets.  This commit changes both of
    these behaviors.  We now use SSA values for computing offsets (so we can
    optimize them) and we handle SSA destinations.  We also move the pass to
    run before we go out of SSA on i965 as it now generates SSA values.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ddb03d56dc5e0b4f282b6f2bdcdb4a6acf89e95
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 15:15:01 2014 -0800

    nir/live_variables: Use the new ssa_def iterator
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=28a3e164e275114fa536023d6594bbbcbae18157
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 19:38:14 2014 -0800

    nir: Use nir_foreach_ssa_def for setting up ssa destinations
    
    Before, we were using foreach_dest and switching on whether the destination
    was an SSA value.  This works, except not all destinations are SSA values
    so we have to special-case ssa_undef instructions.  Now that we have a
    foreach_ssa_def function, we can iterate over all of the register
    destinations in one pass and iterate over the SSA destinations in a second.
    This way, if we add other ssa-only instructions, we won't have to worry
    about adding them to the special case we have for ssa_undef.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=193fea9eb6a7ad72360a3ac65b322bab081f9587
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 15:12:59 2014 -0800

    nir: Add a foreach_ssa_def function
    
    There are some functions whose destinations are SSA-only and so aren't a
    nir_dest.  This provides a function that is capable of iterating over the
    SSA definitions defined by those functions.  If you want registers, you
    should use the old iterator.
    
    v2: Kenneth Graunke <kenneth at whitecape.org>:
     - Fix nir_foreach_ssa_def's return value.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc0735857f1f36eede7e8e5382f8e9bbc496fecb
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 15 14:06:58 2014 -0800

    nir/lower_variables: Use a real dominance DFS for variable renaming
    
    Previously, we were just iterating over the program "in order" which
    kind-of approximates a DFS, but not really.  In particular, we got the
    following case wrong:
    
    loop {
       a = 3;
       if (foo) {
          a = 5;
       } else {
          break;
       }
       use(a);
    }
    
    where use(a) would get 3 instead of 5 because of premature popping of the
    SSA def stack.  Now, since we do an actaul DFS, we should evaluate use(a)
    immediately after a = 5 and we should be ok.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfb3abbaecfbe30b8858a5428c604f9d90f65505
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 12 22:38:41 2014 -0800

    nir: Remove predication
    
    We stopped generating predicates in glsl_to_nir some time ago.  Right now,
    it's all dead untested code that I'm not convinced always worked in the
    first place.  If we decide we want them back, we can revert this patch.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3fd098e7daa491637d66d03366b67c989937a1f
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 12 20:37:04 2014 -0800

    nir: Make bcsel a fully vector operation
    
    Previously, the condition was a scalar that applied to all components
    simultaneously.  As of this commit, the condition is a vector and each
    component is switched seperately.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=295faf9462cba88250d8581f65611996eba5e389
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 12 16:25:38 2014 -0800

    nir: Call nir_metadata_preserve more places
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6c81b3ff453d51898f86a819f80ea1128aea0fe
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 12 16:22:46 2014 -0800

    nir/metadata: Rename metadata_dirty to metadata_preserve
    
    nir_metadata_dirty was a terrible name because the parameter it takes is
    the metadata to be preserved.  This is really confusing because it looks
    like it's doing the opposite of what it is actually doing.  Now it's named
    sensibly.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c2c0a164c2308a5777d7a59b6da4b44a57ba6e2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 5 16:43:56 2014 -0800

    i965/fs_nir: Add support for indirect texture arrays
    
    v2 Jason Ekstrand <jason.ekstrand at intel.com>:
     - Use the nir_tex_src_sampler_offset source type instead of the
       sampler_indirect thing that I cooked up before.
    
    Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=60ec60a600875a6c40a1a90d34d00000c7aa96e7
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 5 16:09:53 2014 -0800

    nir: Rework the way samplers are lowered
    
    v2 Jason Ekstrand <jason.ekstrand at intel.com>:
     - Use the nir_tex_src_sampler_offset source type instead of the
       sampler_indirect thing that I cooked up before.
    
    Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4cdabcc0fa2fdddc7125f0351efb1fd728779db5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 7 17:52:37 2015 -0800

    nir/tex_instr_create: Initialize all 4 sources
    
    This helps a lot with things like lowering passes that may need to add
    sources.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62ac0ee804027d1a1fa9864e03428ced7bd8510a
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 5 14:46:24 2014 -0800

    nir/tex_instr: Rename the indirect source type and add an array size
    
    In particular, we rename nir_tex_src_sampler_index to _sampler_offset and
    add a sampler_array_size field to nir_tex_instr.  This way we can pass the
    size of sampler arrays through to backends even after removing the variable
    information and, with it, the type.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=534d145e5ea039d57833395a36eed90721f6b272
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 8 17:34:52 2014 -0800

    nir: Use a source for uniform buffer indices instead of an index
    
    In GLSL-to-NIR we were just setting the base index to 0 whenever there was
    an indirect so having it expressed as a sum makes no sense.  Also, while a
    base offset may make sense for the memory location (first element in the
    array, etc.) it makes less sense for the actual uniform buffer index.  This
    may change later, but it seems to make more sense for now.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a5604ca6a7346278188cb05996444a5091070b5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 5 12:05:55 2014 -0800

    nir: Constant fold array indirects
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd4b995254fe29bae9ab5a9563cc615274d361ed
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 5 11:03:06 2014 -0800

    nir: Make texture instruction names more consistent
    
    This commit renames nir_instr_as_texture to nir_instr_as_tex and renames
    nir_instr_type_texture to nir_instr_type_tex to be consistent with
    nir_tex_instr.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6fe35a418426c811398a32b9aeacf7410f6352d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 14 22:09:27 2014 -0800

    nir: Remove the ffma peephole
    
    This is no longer needed because it's now part of the algebraic
    optimization pass
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f77f4c00ce4834ca14dd27bed28949dc012e7daf
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 14 21:35:25 2014 -0800

    nir: Add a basic constant folding pass
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5410bd8f65b8d0f845dc8beccd498b6fa098660
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 12 11:13:10 2014 -0800

    nir: Add an algebraic optimization pass
    
    This pass uses the previously built algebraic transformations framework and
    should act as an example for anyone else wanting to make an algebraic
    transformation pass for NIR.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e145a951e64e0b955e8315e22edf9e2ab4581ec
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 14 17:47:56 2014 -0800

    nir: Add infastructure for generating algebraic transformation passes
    
    This commit builds on the nir_search.h infastructure by adding a bit of
    python code that makes it stupid easy to write an algebraic transformation
    pass.  The nir_algebraic.py file contains four python classes that
    correspond directly to the datastructures in nir_search.c and allow you to
    easily generate the C code to represent them.  Given a list of
    search-and-replace operations, it can then generate a function that applies
    those transformations to a shader.
    
    The transformations can be specified manually, or they can be specified
    using nested tuples.  The nested tuples make a neat little language for
    specifying expression trees and search-and-replace operations in a very
    readable and easy-to-edit fasion.
    
    The generated code is also fairly efficient.  Insteady of blindly calling
    nir_replace_instr with every single transformation and on every single
    instruction, it uses a switch statement on the instruction opcode to do a
    first-order culling and only calls nir_replace_instr if the opcode is known
    to match the first opcode in the search expression.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0057dfd673c62741bd9eba34759f3539940068a2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 13 21:19:28 2014 -0800

    nir: Add an expression matching framework
    
    This framework provides a simple way to do simple search-and-replace
    operations on NIR code.  The nir_search.h header provides four simple data
    structures for representing expressions:  nir_value and four subtypes:
    nir_variable, nir_constant, and nir_expression.  An expression tree can
    then be represented by nesting these data structures as needed.  The
    nir_replace_instr function takes an instruction, an expression, and a
    value; if the instruction matches the expression, it is replaced with a new
    chain of instructions to generate the given replacement value.  The
    framework keeps track of swizzles on sources and automatically generates
    the currect swizzles for the replacement value.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a94d1c248153a50923d8639123f956ec1961a837
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 13 17:23:58 2014 -0800

    nir/glsl: Emit abs, neg, and sat operations instead of source modifiers
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8edcd1de143816d4e1268dc7617ec23a067db970
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 5 11:00:05 2014 -0800

    nir: Make the type casting operations static inline functions
    
    Previously, the casting operations were macros.  While this is usually
    fine, the casting macro used the input parameter twice leading to strange
    behavior when you passed the result of another function into it.  Since we
    know the source and destination types explicitly, we don't loose anything
    by making it a function.
    
    Also, this gives us a nice little macro for creating cast function that
    will hopefully prevent mistyping.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=919426631b7bd32f012eb9b6ffd8a9aff74788e1
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 12 19:18:05 2014 -0800

    nir: Add a lowering pass for adding source modifiers where possible
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d83a8eb7af0c4b2cf71642cd901686d508a3aa1
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 13 17:19:20 2014 -0800

    nir: Add neg, abs, and sat opcodes
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1c259d6668bf934a79e7815dff3636783adea9f
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 4 15:24:13 2014 -0800

    i965/fs_nir: Implement the ARB_gpu_shader5 interpolation intrinsics
    
    Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e257a5112476c47928b2fa2a2f2ea3108d13264b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 4 12:27:29 2014 -0800

    i965/fs_nir: Add a has_indirect flag and clean up some of the input/output code
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3ad7fdf337023a1631bcc3ca44c733deb62b9fb
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 8 17:34:23 2014 -0800

    nir: Add a helper for getting a constant value from an SSA source
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=940ccc45ad4110cf720d1de8652d484f47a7b439
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 4 12:16:33 2014 -0800

    nir/glsl: Add support for gpu_shader5 interpolation instrinsics
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=45bdcc257eaf538fe9ac1588c15f8bea13c8e717
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 4 12:16:06 2014 -0800

    nir: Add gpu_shader5 interpolation intrinsics
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3fa49c9e6a38510fea4b65328d58e8a53859440
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Dec 4 10:41:17 2014 -0800

    nir/validate: Validate intrinsic source/destination sizes
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=27663dbe8edfb7583d9d8fc3704a04a5c837fe05
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 3 17:03:19 2014 -0800

    nir: Vectorize intrinsics
    
    We used to have the number of components built into the intrinsic.  This
    meant that all of our load/store intrinsics had vec1, vec2, vec3, and vec4
    variants.  This lead to piles of switch statements to generate the correct
    intrinsic names, and introspection to figure out the number of components.
    We can make things much nicer by allowing "vectorized" intrinsics.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1d12efb36074abd34d6d6d3aa4db9190f6c0de3
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 3 16:25:35 2014 -0800

    nir: Remove the old variable lowering code
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=faad82b4e7df536af360ad85d4ef261f9926b961
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 3 14:47:17 2014 -0800

    nir/validate: Ensure that outputs are write-only and inputs are read-only
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26865f858d48dd473fc294f7fe14c964715cd55e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 26 15:07:27 2014 -0800

    i965/fs_nir: Use the new variable lowering code
    
    This commit switches us over to the new variable lowering code which is
    capable of properly handling lowering indirects as we go.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29e607e5cf5fbd8a99657ca12d362a3a3fa5ba58
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 1 14:11:04 2014 -0800

    nir/glsl: Generate SSA NIR
    
    With this commit, the GLSL IR -> NIR pass generates NIR in more-or-less SSA
    form.  It's SSA in the sense that it doesn't have any registers, but it
    isn't really useful SSA because it still has a pile of load/store
    intrinsics that we will need to get rid of.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6962c332e5e94dce48b472cb181095cc74c67816
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 2 12:48:38 2014 -0800

    nir: Add a pass to lower global variables to local variables
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=619b2e24997f499b422ff256bf920b333ad00a8b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 1 22:01:05 2014 -0800

    nir: Add a pass for lowering input/output loads/stores
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aff431293b441368acd907104c8acd1b117bfaf8
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 1 20:29:35 2014 -0800

    nir: Add a pass to lower local variables to registers
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d477beab077106d8e76a80298a685f16f4c4e85e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 13 17:16:31 2014 -0800

    nir: Add a pass to lower local variable accesses to SSA values
    
    This pass analizes all of the load/store operations and, when a variable is
    never aliased (potentially used by an indirect operation), it is lowered
    directly to an SSA value.  This pass translates to SSA directly and does
    not require any fixup by the original to-SSA pass.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=615ba5ad043d93ea08a7a219046ef8eb523dba04
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 19 14:52:30 2014 -0800

    nir: Add a copy splitting pass
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=68778d52cd4eb05c62f77a13bfed5b062e124fea
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 1 14:39:10 2014 -0800

    nir: Automatically update SSA if uses
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c5284d0e52add862821ab13be61228e53867e62
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Dec 1 15:09:17 2014 -0800

    i965/fs_nir: Don't dump the shader.
    
    This is killing piglit.  I'll leave the logging local
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9318ce8c5a6e0e315f62ce82314cb72f8bce5c79
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 2 18:07:13 2014 -0800

    nir/glsl: Don't allocate a state_slots array for 0 state slots
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d62df3800cad8f8a221d2222203cfa0856918f4
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Nov 24 21:26:41 2014 -0800

    nir: Validate that the sources of a phi have the same size as the destination
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=24249599b144364d2787a6866509ef7e07a2cffd
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Nov 24 22:42:16 2014 -0800

    nir/copy_propagate: Don't cause size mismatches on phi node sources
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a52d2af2f7594fcd76fcf6158eca531e48af1e3
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 19 16:06:32 2014 -0800

    nir: Don't require a function in ssa_def_init
    
    Instead, we give SSA definitions a temporary index of 0xFFFFFFFF if the
    instruction does not have a block and a proper index when it actually gets
    added to the list.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=829aa98320fcd529407d16991b476b71af017479
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 25 21:36:25 2014 -0800

    nir: Use an integer index for specifying structure fields
    
    Previously, we used a string name.  It was nice for translating out of GLSL
    IR (which also does that) but cumbersome the rest of the time.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f8230e247a222314ab124e348482628adb5af32
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 19 12:59:57 2014 -0800

    nir: Add a concept of a wildcard array dereference
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5143edaeeb6f57558f5bb6fbd7f7cc39ad7489d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 19 12:53:08 2014 -0800

    nir: Make array deref direct vs. indirect an enum
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8219ff1796ab18d19fe9cf3cf93f463a984e2c80
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 13 14:53:01 2014 -0800

    nir: Clean up nir_deref helper functions
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=895eee505cf9d4145d901accc2767c373e12c05e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 14 09:46:48 2014 -0800

    nir/lower_samplers: Use the nir_instr_rewrite_src function
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd01de08125202a7d77a337a85b38a492473500d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 13 19:07:22 2014 -0800

    nir: Add a helper for rewriting an instruction source
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=04fb073344b03a02d56291dd273bdef96147e857
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 13 21:34:41 2014 -0800

    i965/fs_nir: Properly saturate multiplies
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5690c2b54cd40c4444ccd8ece4a4af917f64bc61
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jan 14 11:19:41 2015 -0800

    nir/from_ssa: Don't lower constant SSA values to registers
    
    Backends want to be able to do special things with constant values such as
    put them into immediates or make decisions based on whether or not a value
    is constant.  Before, constants always got lowered to a load_const into a
    register and then a register use.  Now we leave constants as SSA values so
    backends can special-case them if they want.  Since handling constant SSA
    values is trivial, this shouldn't be a problem for backends.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2abfc0b86628bb1b756e4ef125c97cb4386aea2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 12 16:24:21 2014 -0800

    i965/fs_nir: Handle SSA constants
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0aa4c6272851ed418dfa18ee6014f40b0e266c2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 12 11:05:51 2014 -0800

    i965/fs_nir: Use an array rather than a hash table for register lookup
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20adc516e27e390b1558703720a2a2129c9e8ad5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 11 16:12:32 2014 -0800

    i965/fs_nir: Add the CSE pass and actually run in a loop
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6bdce55c44a45fc8ec8426996572c18ecf88bd64
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 11 16:11:34 2014 -0800

    nir: Add a basic CSE pass
    
    This pass is still fairly basic.  It only handles ALU operations, constant
    loads, and phi nodes.  No texture ops or intrinsics yet.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20a581260633cb6d0d8ca571e7f3e886298a5733
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 11 12:16:55 2014 -0800

    nir: Add a fused multiply-add peephole

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=02ee1d22a1c64695cc7d6e9eee441e735a3bf6ad
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Nov 10 16:00:03 2014 -0800

    nir: Validate that the SSA def and register indices are unique
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c937bdb3c2c41c5bf914ae7ead9223b8b87e9fe2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 7 16:07:22 2014 -0800

    i965/fs_nir: Turn on the peephole select optimization
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=13ec15bdbf4fa7e9681b46a4636575f1e4a700b4
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 4 10:12:14 2014 -0800

    nir: Add a peephole select optimization
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef7ebb908ed0ebd005bb5eb4554dc2ba8d6be983
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 7 19:35:23 2014 -0800

    nir/nir: Patch up phi predecessors in move_successors
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=02eef483430e48efdd30db06ea6b68fe64d62bfd
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 7 18:27:36 2014 -0800

    nir/nir: Use safe iterators when iterating over the CFG
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6582e884df3e052ec372ee7f8a8838f46681913
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 7 18:26:50 2014 -0800

    glsl/list: Add a foreach_list_typed_safe_reverse macro
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc4e660dfad86aa8cdd08a5ec8b9890095de7c07
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 7 18:25:08 2014 -0800

    nir/nir: Fix a bug in move_successors
    
    The unlink_blocks function moves successors around to make sure that, if
    there is a remaining successor, it is in the first successors slot and not
    the second.  To fix this, we simply get both successors up front.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bd5a24a5e440ba0072528fdb32892cf8c935a8e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 7 11:03:12 2014 -0800

    i965/fs_nir: Validate optimization passes
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=10adf8fc858c21cd95b3e02a8d6abee563ca1046
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Nov 7 10:59:16 2014 -0800

    nir: Differentiate between signed and unsigned versions of find_msb
    
    We also make the return types match GLSL.  The GLSL spec specifies that
    findMSB and findLSB return a signed integer.  Previously, nir had them
    return unsigned.  This updates nir's behavior to match what GLSL expects.
    
    We also update the nir-to-fs generator to take the new instructions.  While
    we're at it, we fix the case where the input to findMSB is zero.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a76ccbfacf3d8e4ea4ab9c25d279eab480f8702e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 6 11:18:42 2014 -0800

    nir/print: Don't reindex things
    
    These indices should now be reasonably stable/consistent.  Redoing the
    indices in the print functions makes it harder to debug problems.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=73522ec83f845c6ab13f7da255bbe8c1e019cc20
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 5 13:58:42 2014 -0800

    nir: Validate all lists in the validator
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b3dfdce7604723818d8b7ec17738e94284c50bb
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 11 10:12:24 2014 -0800

    glsl/list: Fix the exec_list_validate function
    
    Some time while refactoring things to make it look nicer before pushing to
    master, I completely broke the function.  This fixes it to be correct.
    Just goes to show you why you souldn't push code that has no users yet...
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4285aaecdceac55005e1ea2e75e17c6490d158a9
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 12 13:05:25 2014 -0800

    i965/fs_nir: Do retyping for ALU srouces in get_nir_alu_src
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=943ddb945877fc8a48dd7a435d40e1a9e7b9eead
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Oct 31 11:17:09 2014 -0700

    nir: Add a better out-of-SSA pass
    
    This commit rewrites the out-of-SSA pass to not be nearly as naieve.  It's
    based on "Revisiting Out-of-SSA Translation for Correctness, Code Quality,
    and Efficiency" by Boissinot et. al.  It should be fairly close to
    state-of-the art.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f44120ff51fba27258376941ee965078aa8494e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 12 12:52:11 2014 -0800

    nir: Add a function for comparing two sources
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=366181d826219b50ae74a5d5db49e885f3bb7c4e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Oct 30 21:04:15 2014 -0700

    nir: Add a parallel copy instruction type
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7de6b7fc3ecd771c11acab251d3c432ea680b811
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 4 17:18:48 2014 -0800

    nir: Add a function for rewriting all the uses of a SSA def
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=946012f10f93f249444436dc780ae74d477e44a3
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 4 11:02:09 2014 -0800

    nir: Automatically handle SSA uses when an instruction is inserted
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbc443ad564a46e105e0b1d7a12a6f2b07c56b1d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 4 10:40:48 2014 -0800

    nir: Add an initialization function for SSA definitions
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f86902e75d989b781be36ced5dc98dfc0cd34b7b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 29 14:17:17 2014 -0700

    nir: Add an SSA-based liveness analysis pass.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9a21c725dab3613b0e81d9abe497a9f6018b391
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Oct 30 21:18:22 2014 -0700

    nir: set reg_alloc and ssa_alloc when indexing registers and SSA values
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7e482d32cf0188a1ed49e76f008837be5cfd720
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 29 16:25:51 2014 -0700

    nir: Add a function to detect if a block is immediately followed by an if
    
    Since we don't actually have an "if" instruction, this is a very common
    pattern when iterating over instructions.  This adds a helper function for
    it to make things a little less painful.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfdf0c46732dd20b5796778dc446fb0a34649f1e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 29 14:16:54 2014 -0700

    nir: Add a foreach_block_reverse function
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=07556442a7f82d44cbd2e725efd475efcd8a437c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 29 14:16:39 2014 -0700

    nir/foreach_block: Return false if the callback on the last block fails
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=49911cf4dbf85e9c20c8069cbc0aaa6deb757df1
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 29 12:42:54 2014 -0700

    nir: Add a basic metadata management system
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea1eefe13f2390981e37c22fd3791a042ef5f3e0
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 29 12:42:33 2014 -0700

    nir/lower_variables_scalar: Silence a compiler warning
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=63eb32950e64715a7a686ae9da82b55954db9ab8
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 22 11:24:33 2014 -0700

    i965/fs_nir: Convert the shader to/from SSA
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d986d19d0412759ecb10c0d8752bb0276d5c5f8
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 22 12:57:28 2014 -0700

    nir: Add a lower_vec_to_movs pass
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2943522d80393d7996f3aeec173df399d8bd9bbc
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 22 11:22:53 2014 -0700

    nir: Add a naieve from-SSA pass
    
    This pass is kind of stupidly implemented but it should be enough to get us
    up and going.  We probably want something better that doesn't generate all
    of the redundant moves eventually.  However, the i965 backend should be
    able to handle the movs, so I'm not too worried about it in the short term.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff0a9fcf332ce319fae1eb53f3e5d863d0289cbf
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Oct 20 18:07:28 2014 -0700

    i965/fs_nir: Don't duplicate emit_general_interpolation
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1fe8604c6b679768e880b5e1d7f18b92067721b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Oct 20 18:05:36 2014 -0700

    i965/fs: Don't take an ir_variable for emit_general_interpolation
    
    Previously, emit_general_interpolation took an ir_variable and pulled the
    information it needed from that.  This meant that in fs_fp, we were
    constructing a dummy ir_variable just to pass into it.  This commit makes
    emit_general_interpolation take only the information it needs and gets rid
    of the fs_fp cruft.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b600f1a3818d7b1cba4b2e6debded3d177e14449
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Oct 17 17:11:34 2014 -0700

    nir: Add intrinsics to do alternate interpolation on inputs
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b4f90dbff1880e2fd5f1b00813ea4778d63d084
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Oct 16 16:53:03 2014 -0700

    nir: Add NIR_TRUE and NIR_FALSE constants and use them for boolean immediates
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=744b4e9348db1767a772fda2a5cbe33abbba7db1
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 21:52:58 2014 -0700

    i965/fs_nir: Add atomic counters support
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e46c98ec1f4344d5c4794423e773d3cc591ebbb
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Oct 16 09:56:14 2014 -0700

    nir/lower_atomics: Multiply array offsets by ATOMIC_COUNTER_SIZE
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=95fbd6e1eed58f1f87aaa425bb5312a92db29d21
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 14:44:00 2014 -0700

    i965/fs_nir: Handle coarse/fine derivatives
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d40b5ca5c50796c168aba0e0e3dd4a0f695a9e3b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 16:57:10 2014 -0700

    nir/glsl: Add support for coarse and fine derivatives
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c75a7ce590e0802cea7d64c28e22bee7c013e16
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 16:56:43 2014 -0700

    nir: Add fine and coarse derivative opcodes
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=458a6ce500998e6f463d29641060a1672e01c620
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 16:19:26 2014 -0700

    nir/glsl: Add support for saturate
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4582341ea74a076c981c962f1a01311bfa3bf991
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 16:01:04 2014 -0700

    i965/fs_nir: Add support for sample_pos and sample_id

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7cd1537aae28b9189b1251688ac1a5dc9d36cc80
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 15:36:43 2014 -0700

    Fix up varying pull constants
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4bb81f6d025adb647e31445b907cdad48003a3e9
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 13:56:48 2014 -0700

    Fix what I think are a few NIR typos
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b092bc9805f0f28209fc70fb367e0dc26e294317
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 15:25:10 2014 -0700

    i965/fs_nir: Use the correct texture offset immediate
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c181ff268e4787056fdee417d30d52b1098fe211
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 12:18:25 2014 -0700

    i965/fs_nir: Use the correct types for texture inputs
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2ded36bb60d3dfad0036dac7adbf7718968ccf2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 15 10:41:04 2014 -0700

    i965/fs_nir: Make the sampler register always unsigned
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae2880d131e3197114940fc7028397079840f97d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Oct 14 16:40:04 2014 -0700

    i965/fs: Only use nir for 8-wide non-fast-clear shaders.
    
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2faf7f87d6a1c00b3f3d3907178a2eeeefa5d2a9
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Fri Aug 15 10:32:07 2014 -0700

    i965/fs: add a NIR frontend
    
    This is similar to the GLSL IR frontend, except consuming NIR. This lets
    us test NIR as part of an actual compiler.
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       Make brw_fs_nir build again
       Only use NIR of INTEL_USE_NIR is set
       whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9afc566e2db974daf097b5816adc26f8d633b080
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Fri Aug 15 10:17:26 2014 -0700

    i965/fs: Don't pass through the coordinate type
    
    All we really need is the number of components.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=616a48ebc6b858cf15ade15238f1a549b701ebc3
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Tue Aug 5 11:02:02 2014 -0700

    i965/fs: make emit_fragcoord_interpolation() not take an ir_variable

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7602385ac5c0e9935a69ec9f636fbbc392c55744
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Thu Jul 24 15:51:58 2014 -0700

    nir: add an SSA-based dead code elimination pass
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b7cb7674c735d83cd9a2b41e3d1f367353a20d4
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 23 11:19:50 2014 -0700

    nir: add an SSA-based copy propagation pass

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4553887d4a4501a75c91033e9e8e5fe4cd6bc3f2
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Tue Jul 22 14:05:06 2014 -0700

    nir: add a pass to convert to SSA
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b559ee709b26e013dda49332c55b3e25cd185bcd
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Fri Jul 18 16:13:11 2014 -0700

    nir: calculate dominance information

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cff1deff72294b810e4f03b72c7a871aacef8477
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 12:08:13 2014 -0700

    nir: add an optimization to turn global registers into local registers
    
    After linking and inlining, this allows us to convert these registers
    into SSA values and optimise more code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=613bf6818aee4ac706d17d86e0bb421e81051fa3
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 14:43:26 2014 -0700

    nir: add a pass to lower atomics
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>
       whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8692c6a023afec2e937811103196f44223236f24
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 12:07:45 2014 -0700

    nir: add a pass to lower system value reads
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8cdcfce5cea1a0dd761bdb82a03433f06c83f36b
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 12:04:49 2014 -0700

    nir: add a pass to lower sampler instructions

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=370e875b32ebc7b2989fbc590b29e2d8dcb74913
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 11:56:52 2014 -0700

    nir: add a pass to remove unused variables
    
    After we lower variables, we want to delete them in order to free up
    some memory.
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
        whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=494790b2a958f964547fb4362929171efffde153
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Tue Aug 5 10:54:27 2014 -0700

    nir: keep track of the number of input, output, and uniform slots

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2f36cf125f1301760e3653404b60d122bc38102
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Thu Jul 17 09:12:52 2014 -0700

    nir: add a pass to lower variables for scalar backends

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f0daaa5e7883792167d42fed7267d4c8d552c86
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Thu Jul 10 18:18:17 2014 -0700

    nir: add a glsl-to-nir pass
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       Make glsl_to_nir build again
       fix whitespace

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbb76421dabfb1c6f79efc873baa8e21154d3dc0
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 15:20:53 2014 -0700

    nir: add a validation pass
    
    This is similar to ir_validate.cpp.
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98fa28bff78b469b8539816e6bfdb02d8ac6032a
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 15:29:27 2014 -0700

    nir: add a printer
    
    This is similar to ir_print_visitor.cpp.
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       whitespace fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b1139649d86a27a477ae6d3c398be778288f97c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 17 17:30:27 2014 -0800

    SQUASH: Fix comments from eric
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b4c86058063888813fca185633cd5746ac2321c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 29 14:15:13 2014 -0700

    SQUASH: Add an assert

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2812e5de93b3bddc4fea9fc99c38155303887ecd
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Thu Jul 31 16:16:23 2014 -0700

    nir: add core helper functions
    
    These include functions for adding and removing various bits of IR and
    helpers for iterating over all the sources and destinations of an
    instruction. This is similar to ir.cpp.
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       whitespace and automake fixes

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f521a3c543ab1775603e1ad85c72e77812e039b5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 26 15:08:19 2014 -0800

    SQUASH: Use the enum for the variable mode

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30c4678f64800fbe0278a19aa0895b55411dd9b3
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Thu Jul 31 16:14:51 2014 -0700

    nir: add the core datastructures
    
    This includes all the instructions, ifs, loops, functions, etc. This is
    similar to the information in ir.h.
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
       Include ralloc and hash_table from the util directory
       whitespace fixes
    
    Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-By glenn.kennard <glenn.kennard at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5ca34a211c801c2cf2fa852d7be1d0b2eede842
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 15:33:32 2014 -0700

    nir: add a simple C wrapper around glsl_types.h
    
    v2: Jason Ekstrand <jason.ekstrand at intel.com>:
        whitespace and automake fixes
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77e7a00267eeb3942ccf8f8954919774c1bc4e78
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Wed Jul 30 15:32:21 2014 -0700

    nir: add initial README
    
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab2ae6385410c7cca3cdbda300b0e72f38a5d8e3
Author: Connor Abbott <connor.abbott at intel.com>
Date:   Mon Jul 21 17:11:53 2014 -0700

    exec_list: add a list_foreach_typed_reverse() macro
    
    Reviewed-by: Eric Anholt <eric at anholt.net>




More information about the mesa-commit mailing list