i965/nir/vec4: Implement nir_emit_jump
authorEduardo Lima Mitev <elima@igalia.com>
Wed, 17 Jun 2015 08:20:19 +0000 (10:20 +0200)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 3 Aug 2015 16:40:50 +0000 (09:40 -0700)
This implementation is taken as-is from fs_nir.

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

index 049edbdf099675afeef14f94143860beb788af8d..544f4263f2ac1da694e4d21ef5f65e483d18c030 100644 (file)
@@ -1267,7 +1267,20 @@ vec4_visitor::nir_emit_alu(nir_alu_instr *instr)
 void
 vec4_visitor::nir_emit_jump(nir_jump_instr *instr)
 {
-   /* @TODO: Not yet implemented */
+   switch (instr->type) {
+   case nir_jump_break:
+      emit(BRW_OPCODE_BREAK);
+      break;
+
+   case nir_jump_continue:
+      emit(BRW_OPCODE_CONTINUE);
+      break;
+
+   case nir_jump_return:
+      /* fall through */
+   default:
+      unreachable("unknown jump");
+   }
 }
 
 void