Patches 1 to 4 are, Reviewed-by: Iago Toral Quiroga <[email protected]>
I intend to review the remaining patches tomorrow as well if nobody else beats me to it. Iago On Mon, 2016-01-25 at 15:18 -0800, Matt Turner wrote: > This series adds NIR support for lowering pack/unpack opcodes and > switches i965 over to using that. The only place we still use the > GLSL IR lower_packing_builtins.cpp is for the half-precision functions > on Sandybridge. > > As a result, I get to remove the ir_unop_unpack_half_2x16_split_x/y opcodes > from GLSL IR, since i965 was the only consumer. A follow-on project I plan to > do is to remove these opcodes from NIR as well and just emit the appropriate > code directly in i965/fs, because again it's the only consumer. > > I add 6 new operations to NIR: > > extract_ibyte - extract byte from dword and sign extend > extract_ubyte - extract byte from dword and zero extend > extract_iword - extract word from dword and sign extend > extract_uword - extract word from dword and zero extend > pack_uvec4_to_uint - packs the low 8-bits of src0.xyzw into a uint > pack_uvec2_to_uint - packs the low 16-bits of src0.xy into a uint > > The last two opcodes are used in lowering the pack operations. They're mostly > useful because nir_opt_algebraic isn't capable of handling swizzles. I look > forward to getting rid of them. > > I sent an RFC patch in December [1] that optimized some Unigine shaders with > extract_byte. Eric asked whether we should add new opcodes (extract_*) or use > bitfield_extract and recognize special cases in the driver backends. I've > opted > to add new operations because of the simplicity of recognition with > nir_opt_algebraic. > > I'm planning to rebase that optimization on this series and send it > separately. > > [1] http://lists.freedesktop.org/archives/mesa-dev/2015-December/102264.html > > _______________________________________________ > mesa-dev mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
