diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 62c7f415ccf..469fba001cd 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -3298,7 +3298,7 @@ fs_visitor::emit_repclear_shader() this->first_non_payload_grf = payload().num_regs; - lower_scoreboard(); + brw_fs_lower_scoreboard(*this); } /** @@ -6327,7 +6327,7 @@ fs_visitor::allocate_registers(bool allow_spilling) assert(prog_data->total_scratch < max_scratch_size); } - lower_scoreboard(); + brw_fs_lower_scoreboard(*this); } bool diff --git a/src/intel/compiler/brw_fs.h b/src/intel/compiler/brw_fs.h index f85744970d4..f47a47836b0 100644 --- a/src/intel/compiler/brw_fs.h +++ b/src/intel/compiler/brw_fs.h @@ -267,7 +267,6 @@ public: void vfail(const char *msg, va_list args); void fail(const char *msg, ...); void limit_dispatch_width(unsigned n, const char *msg); - bool lower_scoreboard(); void emit_repclear_shader(); void emit_interpolation_setup_gfx4(); @@ -595,6 +594,7 @@ bool brw_fs_lower_logical_sends(fs_visitor &s); bool brw_fs_lower_pack(fs_visitor &s); bool brw_fs_lower_load_payload(fs_visitor &s); bool brw_fs_lower_regioning(fs_visitor &s); +bool brw_fs_lower_scoreboard(fs_visitor &s); bool brw_fs_lower_sends_overlapping_payload(fs_visitor &s); bool brw_fs_lower_simd_width(fs_visitor &s); bool brw_fs_lower_sub_sat(fs_visitor &s); diff --git a/src/intel/compiler/brw_fs_scoreboard.cpp b/src/intel/compiler/brw_fs_scoreboard.cpp index 144179941c2..09c804b9ad5 100644 --- a/src/intel/compiler/brw_fs_scoreboard.cpp +++ b/src/intel/compiler/brw_fs_scoreboard.cpp @@ -1349,13 +1349,13 @@ namespace { } bool -fs_visitor::lower_scoreboard() +brw_fs_lower_scoreboard(fs_visitor &s) { - if (devinfo->ver >= 12) { - const ordered_address *jps = ordered_inst_addresses(this); - const dependency_list *deps0 = gather_inst_dependencies(this, jps); - const dependency_list *deps1 = allocate_inst_dependencies(this, deps0); - emit_inst_dependencies(this, jps, deps1); + if (s.devinfo->ver >= 12) { + const ordered_address *jps = ordered_inst_addresses(&s); + const dependency_list *deps0 = gather_inst_dependencies(&s, jps); + const dependency_list *deps1 = allocate_inst_dependencies(&s, deps0); + emit_inst_dependencies(&s, jps, deps1); delete[] deps1; delete[] deps0; delete[] jps; diff --git a/src/intel/compiler/test_fs_scoreboard.cpp b/src/intel/compiler/test_fs_scoreboard.cpp index 8502fc3a4ae..f3ee93ca0cf 100644 --- a/src/intel/compiler/test_fs_scoreboard.cpp +++ b/src/intel/compiler/test_fs_scoreboard.cpp @@ -97,7 +97,7 @@ lower_scoreboard(fs_visitor *v) v->cfg->dump(); } - v->lower_scoreboard(); + brw_fs_lower_scoreboard(*v); if (print) { fprintf(stderr, "\n= After =\n");