vc4: fixup for new nir_foreach_block()
authorConnor Abbott <cwabbott0@gmail.com>
Wed, 13 Apr 2016 03:59:06 +0000 (23:59 -0400)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 5 May 2016 23:19:41 +0000 (16:19 -0700)
Reviewed-by: Eric Anholt <eric@anholt.net>
src/gallium/drivers/vc4/vc4_nir_lower_blend.c
src/gallium/drivers/vc4/vc4_nir_lower_io.c
src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c
src/gallium/drivers/vc4/vc4_program.c

index c61612213e7c6a06772f614b6dbe83d509220b09..8cad4b717e3e7b47d81a56a660207ab91846f619 100644 (file)
@@ -674,10 +674,8 @@ vc4_nir_lower_blend_instr(struct vc4_compile *c, nir_builder *b,
 }
 
 static bool
-vc4_nir_lower_blend_block(nir_block *block, void *state)
+vc4_nir_lower_blend_block(nir_block *block, struct vc4_compile *c)
 {
-        struct vc4_compile *c = state;
-
         nir_foreach_instr_safe(instr, block) {
                 if (instr->type != nir_instr_type_intrinsic)
                         continue;
@@ -714,8 +712,9 @@ vc4_nir_lower_blend(nir_shader *s, struct vc4_compile *c)
 {
         nir_foreach_function(function, s) {
                 if (function->impl) {
-                        nir_foreach_block_call(function->impl,
-                                          vc4_nir_lower_blend_block, c);
+                        nir_foreach_block(block, function->impl) {
+                                vc4_nir_lower_blend_block(block, c);
+                        }
 
                         nir_metadata_preserve(function->impl,
                                               nir_metadata_block_index |
index 3598268cd98c48dd61e7864154e1f736c5d681d6..261c00dc449640842fab1114ea3f9423dc67bc2f 100644 (file)
@@ -428,25 +428,15 @@ vc4_nir_lower_io_instr(struct vc4_compile *c, nir_builder *b,
 }
 
 static bool
-vc4_nir_lower_io_block(nir_block *block, void *arg)
+vc4_nir_lower_io_impl(struct vc4_compile *c, nir_function_impl *impl)
 {
-        struct vc4_compile *c = arg;
-        nir_function_impl *impl =
-                nir_cf_node_get_function(&block->cf_node);
-
         nir_builder b;
         nir_builder_init(&b, impl);
 
-        nir_foreach_instr_safe(instr, block)
-                vc4_nir_lower_io_instr(c, &b, instr);
-
-        return true;
-}
-
-static bool
-vc4_nir_lower_io_impl(struct vc4_compile *c, nir_function_impl *impl)
-{
-        nir_foreach_block_call(impl, vc4_nir_lower_io_block, c);
+        nir_foreach_block(block, impl) {
+                nir_foreach_instr_safe(instr, block)
+                        vc4_nir_lower_io_instr(c, &b, instr);
+        }
 
         nir_metadata_preserve(impl, nir_metadata_block_index |
                               nir_metadata_dominance);
index 958a06af8dc4281eb6882e63bd43ef3b6433a48d..108524377ac7c768bc105a2333b669b6b60ea561 100644 (file)
@@ -130,30 +130,20 @@ vc4_nir_lower_txf_ms_instr(struct vc4_compile *c, nir_builder *b,
 }
 
 static bool
-vc4_nir_lower_txf_ms_block(nir_block *block, void *arg)
+vc4_nir_lower_txf_ms_impl(struct vc4_compile *c, nir_function_impl *impl)
 {
-        struct vc4_compile *c = arg;
-        nir_function_impl *impl =
-                nir_cf_node_get_function(&block->cf_node);
-
         nir_builder b;
         nir_builder_init(&b, impl);
 
-        nir_foreach_instr_safe(instr, block) {
-                if (instr->type == nir_instr_type_tex) {
-                        vc4_nir_lower_txf_ms_instr(c, &b,
-                                                   nir_instr_as_tex(instr));
+        nir_foreach_block(block, impl) {
+                nir_foreach_instr_safe(instr, block) {
+                        if (instr->type == nir_instr_type_tex) {
+                                vc4_nir_lower_txf_ms_instr(c, &b,
+                                                nir_instr_as_tex(instr));
+                        }
                 }
         }
 
-        return true;
-}
-
-static bool
-vc4_nir_lower_txf_ms_impl(struct vc4_compile *c, nir_function_impl *impl)
-{
-        nir_foreach_block_call(impl, vc4_nir_lower_txf_ms_block, c);
-
         nir_metadata_preserve(impl,
                               nir_metadata_block_index |
                               nir_metadata_dominance);
index 598fb0bd3baf4e49bf0be073d06594f89d91c895..34420aaa97580d70e9fac86c5340b9bd9540c6ce 100644 (file)
@@ -1737,16 +1737,6 @@ static const nir_shader_compiler_options nir_options = {
         .lower_negate = true,
 };
 
-static bool
-count_nir_instrs_in_block(nir_block *block, void *state)
-{
-        int *count = (int *) state;
-        nir_foreach_instr(instr, block) {
-                *count = *count + 1;
-        }
-        return true;
-}
-
 static int
 count_nir_instrs(nir_shader *nir)
 {
@@ -1754,7 +1744,10 @@ count_nir_instrs(nir_shader *nir)
         nir_foreach_function(function, nir) {
                 if (!function->impl)
                         continue;
-                nir_foreach_block_call(function->impl, count_nir_instrs_in_block, &count);
+                nir_foreach_block(block, function->impl) {
+                        nir_foreach_instr(instr, block)
+                                count++;
+                }
         }
         return count;
 }