Module: Mesa Branch: master Commit: dd41630d9a83a07f31ec490f75e4efe5ec6b3a3a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd41630d9a83a07f31ec490f75e4efe5ec6b3a3a
Author: Iago Toral Quiroga <[email protected]> Date: Tue Apr 17 10:23:47 2018 +0200 intel/compiler: implement 16-bit pack/unpack opcodes Reviewed-by: Jason Ekstrand <[email protected]> --- src/intel/compiler/brw_fs_nir.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index 9c802fb7c6..4c8bcc4ebc 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -1314,6 +1314,7 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr) break; case nir_op_pack_64_2x32_split: + case nir_op_pack_32_2x16_split: bld.emit(FS_OPCODE_PACK, result, op[0], op[1]); break; @@ -1326,6 +1327,15 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr) break; } + case nir_op_unpack_32_2x16_split_x: + case nir_op_unpack_32_2x16_split_y: { + if (instr->op == nir_op_unpack_32_2x16_split_x) + bld.MOV(result, subscript(op[0], BRW_REGISTER_TYPE_UW, 0)); + else + bld.MOV(result, subscript(op[0], BRW_REGISTER_TYPE_UW, 1)); + break; + } + case nir_op_fpow: inst = bld.emit(SHADER_OPCODE_POW, result, op[0], op[1]); inst->saturate = instr->dest.saturate; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
