nir: Add new 'plane' texture source type
[mesa.git] / src / compiler / nir / nir_lower_two_sided_color.c
index 1294cb89004f6d440740d575f869d4934ab4c8a5..5d8779e14cf1a0856f85b62ee737bcdbf9cbd93f 100644 (file)
@@ -72,9 +72,9 @@ load_input(nir_builder *b, nir_variable *in)
 
    load = nir_intrinsic_instr_create(b->shader, nir_intrinsic_load_input);
    load->num_components = 4;
-   load->const_index[0] = in->data.driver_location;
+   nir_intrinsic_set_base(load, in->data.driver_location);
    load->src[0] = nir_src_for_ssa(nir_imm_int(b, 0));
-   nir_ssa_dest_init(&load->instr, &load->dest, 4, NULL);
+   nir_ssa_dest_init(&load->instr, &load->dest, 4, 32, NULL);
    nir_builder_instr_insert(b, &load->instr);
 
    return &load->dest.ssa;
@@ -133,12 +133,12 @@ setup_inputs(lower_2side_state *state)
 }
 
 static bool
-nir_lower_two_sided_color_block(nir_block *block, void *void_state)
+nir_lower_two_sided_color_block(nir_block *block,
+                                lower_2side_state *state)
 {
-   lower_2side_state *state = void_state;
    nir_builder *b = &state->b;
 
-   nir_foreach_instr_safe(block, instr) {
+   nir_foreach_instr_safe(instr, block) {
       if (instr->type != nir_instr_type_intrinsic)
          continue;
 
@@ -151,7 +151,7 @@ nir_lower_two_sided_color_block(nir_block *block, void *void_state)
       for (idx = 0; idx < state->colors_count; idx++) {
          unsigned drvloc =
             state->colors[idx].front->data.driver_location;
-         if (intr->const_index[0] == drvloc) {
+         if (nir_intrinsic_base(intr) == drvloc) {
             assert(nir_src_as_const_value(intr->src[0]));
             break;
          }
@@ -185,7 +185,9 @@ nir_lower_two_sided_color_impl(nir_function_impl *impl,
 
    nir_builder_init(b, impl);
 
-   nir_foreach_block(impl, nir_lower_two_sided_color_block, state);
+   nir_foreach_block(block, impl) {
+      nir_lower_two_sided_color_block(block, state);
+   }
 
    nir_metadata_preserve(impl, nir_metadata_block_index |
                                nir_metadata_dominance);
@@ -204,7 +206,7 @@ nir_lower_two_sided_color(nir_shader *shader)
    if (setup_inputs(&state) != 0)
       return;
 
-   nir_foreach_function(shader, function) {
+   nir_foreach_function(function, shader) {
       if (function->impl)
          nir_lower_two_sided_color_impl(function->impl, &state);
    }