nir: Add an ALU op builder kind of like ir_builder.h
authorEric Anholt <eric@anholt.net>
Mon, 10 Nov 2014 19:16:30 +0000 (11:16 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 19 Feb 2015 06:28:42 +0000 (22:28 -0800)
commit2a135c470e3db165a6417ffcccab4a9f4500f526
tree861d593c994b9a73125fa37f3cdb5d280643644d
parentde798bb93708cebdedecefebdc96a82d9481f2aa
nir: Add an ALU op builder kind of like ir_builder.h

v2: Rebase on the nir_opcodes.h python code generation support.
v3: Use SSA values, and set an appropriate writemask on dot products.
v4: Make the arguments be SSA references as well.  This lets you stack up
    expressions in the arguments of other expressions, at the cost of
    having to insert a fmov/imov if you want to swizzle.  Also, add
    the generated file to NIR_GENERATED_FILES.
v5: Use more pythonish style for iterating the list.
v6: Infer the size of the dest from the size of the srcs, and auto-swizzle
    a single small src out to the appropriate size.
v7: Add little helpers for initializing the struct, add a typedef for the
    struct like other nir types have.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v6)
Reviewed-by: Connor Abbott <cwabbott0@gmail.com> (v7)
src/glsl/Makefile.am
src/glsl/Makefile.sources
src/glsl/nir/.gitignore
src/glsl/nir/nir_builder.h [new file with mode: 0644]
src/glsl/nir/nir_builder_opcodes_h.py [new file with mode: 0644]