diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 46e346ec984..666f2826ba6 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -9452,6 +9452,10 @@ brw_compute_flat_inputs(struct brw_wm_prog_data *prog_data, prog_data->flat_inputs = 0; nir_foreach_shader_in_variable(var, shader) { + /* flat shading */ + if (var->data.interpolation != INTERP_MODE_FLAT) + continue; + if (var->data.per_primitive) continue; @@ -9459,11 +9463,7 @@ brw_compute_flat_inputs(struct brw_wm_prog_data *prog_data, for (unsigned s = 0; s < slots; s++) { int input_index = prog_data->urb_setup[var->data.location + s]; - if (input_index < 0) - continue; - - /* flat shading */ - if (var->data.interpolation == INTERP_MODE_FLAT) + if (input_index >= 0) prog_data->flat_inputs |= 1 << input_index; } }