i965/nir/vec4: Implement int<->float format conversion ops
authorAntia Puentes <apuentes@igalia.com>
Tue, 16 Jun 2015 21:04:32 +0000 (23:04 +0200)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 3 Aug 2015 16:40:48 +0000 (09:40 -0700)
Adds NIR ALU operations:
   * nir_op_f2i
   * nir_op_f2u
   * nir_op_i2f
   * nir_op_u2f

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp

index 2829bbc111c45b2993dec605141922e8ab3f1cb2..e1ada3bc8555a161adbe50d595056881c185ab01 100644 (file)
@@ -682,6 +682,17 @@ vec4_visitor::nir_emit_alu(nir_alu_instr *instr)
    case nir_op_vec4:
       unreachable("not reached: should be handled by lower_vec_to_movs()");
 
+   case nir_op_i2f:
+   case nir_op_u2f:
+      inst = emit(MOV(dst, op[0]));
+      inst->saturate = instr->dest.saturate;
+      break;
+
+   case nir_op_f2i:
+   case nir_op_f2u:
+      inst = emit(MOV(dst, op[0]));
+      break;
+
    default:
       unreachable("Unimplemented ALU operation");
    }