mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 21:20:12 +01:00
brw: account for disabled SEND fused message in cycle computation
This is an alternative Curro proposed to counting the number of serialized messages. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Alyssa Anne Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37816>
This commit is contained in:
parent
3b2f7ed918
commit
14683a045b
1 changed files with 7 additions and 1 deletions
|
|
@ -137,7 +137,7 @@ namespace {
|
|||
td(inst->dst.type), sd(DIV_ROUND_UP(inst->size_written, REG_SIZE)),
|
||||
tx(get_exec_type(inst)), sx(0), ss(0),
|
||||
sc(has_bank_conflict(isa, inst) ? sd : 0),
|
||||
desc(0), sfid(0)
|
||||
desc(0), sfid(0), fused_send_disable(false)
|
||||
{
|
||||
const brw_send_inst *send = inst->as_send();
|
||||
if (send) {
|
||||
|
|
@ -157,6 +157,7 @@ namespace {
|
|||
ss += DIV_ROUND_UP(inst->size_read(devinfo, i), REG_SIZE);
|
||||
}
|
||||
}
|
||||
fused_send_disable = send->fused_eu_disable;
|
||||
} else {
|
||||
for (unsigned i = 0; i < inst->sources; i++)
|
||||
ss = MAX2(ss, DIV_ROUND_UP(inst->size_read(devinfo, i), REG_SIZE));
|
||||
|
|
@ -201,6 +202,8 @@ namespace {
|
|||
uint8_t sfid;
|
||||
/** Repeat count for DPAS instructions. */
|
||||
uint8_t rcount;
|
||||
/** Whether SEND message fusion is disabled (Gfx12.x only) */
|
||||
bool fused_send_disable;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -274,6 +277,9 @@ namespace {
|
|||
int ls_1, int ld_1, int la_1, int lf_1,
|
||||
int l_ss, int l_sd)
|
||||
{
|
||||
/* We fused SEND are disabled double those parameters */
|
||||
ls_1 *= info.fused_send_disable ? 2 : 1;
|
||||
l_ss *= info.fused_send_disable ? 2 : 1;
|
||||
return perf_desc(u, df_1 + df_sd * int(info.sd) + df_sc * int(info.sc),
|
||||
db_1 + db_sx * int(info.sx),
|
||||
ls_1 + l_ss * int(info.ss),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue