nir/lower_gs_intrinsics: fixup for new foreach_block()
authorConnor Abbott <cwabbott0@gmail.com>
Fri, 8 Apr 2016 19:53:46 +0000 (15:53 -0400)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 28 Apr 2016 22:52:17 +0000 (15:52 -0700)
v2 (Jason Ekstrand): Use nir_foreach_block_safe

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/nir/nir_lower_gs_intrinsics.c

index a868e10..406d7f0 100644 (file)
@@ -131,10 +131,8 @@ rewrite_end_primitive(nir_intrinsic_instr *intrin, struct state *state)
 }
 
 static bool
-rewrite_intrinsics(nir_block *block, void *closure)
+rewrite_intrinsics(nir_block *block, struct state *state)
 {
-   struct state *state = closure;
-
    nir_foreach_instr_safe(block, instr) {
       if (instr->type != nir_instr_type_intrinsic)
          continue;
@@ -206,7 +204,9 @@ nir_lower_gs_intrinsics(nir_shader *shader)
          nir_builder_init(&b, function->impl);
          state.builder = &b;
 
-         nir_foreach_block_call(function->impl, rewrite_intrinsics, &state);
+         nir_foreach_block_safe(block, function->impl) {
+            rewrite_intrinsics(block, &state);
+         }
 
          /* This only works because we have a single main() function. */
          append_set_vertex_count(function->impl->end_block, &state);