mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 02:20:11 +01:00
intel/brw: Allow extra SWSB encodings for Xe2
There are new combinations of ordered and unordered dependencies available for the instructions to use, which among others include: - combining FLOAT and INT pipe deps in SENDs; - combining SRC mode deps in regular instructions for the inferred type. This patch enables a couple of tests checking for the first case. Reviewed-by: Francisco Jerez <currojerez@riseup.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31375>
This commit is contained in:
parent
1b13eea642
commit
0b66cb1f82
2 changed files with 17 additions and 5 deletions
|
|
@ -987,15 +987,27 @@ namespace {
|
|||
exec_all).pipe;
|
||||
const tgl_sbid_mode unordered_mode =
|
||||
baked_unordered_dependency_mode(devinfo, inst, deps, jp);
|
||||
const tgl_pipe inferred_pipe = inferred_sync_pipe(devinfo, inst);
|
||||
|
||||
if (!has_ordered)
|
||||
return false;
|
||||
else if (!unordered_mode)
|
||||
return true;
|
||||
else
|
||||
return ordered_pipe == inferred_sync_pipe(devinfo, inst) &&
|
||||
else if (devinfo->ver < 20)
|
||||
return ordered_pipe == inferred_pipe &&
|
||||
unordered_mode == (is_unordered(devinfo, inst) ? TGL_SBID_SET :
|
||||
TGL_SBID_DST);
|
||||
else if (is_send(inst))
|
||||
return unordered_mode == TGL_SBID_SET &&
|
||||
(ordered_pipe == TGL_PIPE_FLOAT ||
|
||||
ordered_pipe == TGL_PIPE_INT ||
|
||||
ordered_pipe == TGL_PIPE_ALL);
|
||||
else if (inst->opcode == BRW_OPCODE_DPAS)
|
||||
return ordered_pipe == inferred_pipe;
|
||||
else
|
||||
return (unordered_mode == TGL_SBID_DST && ordered_pipe == inferred_pipe) ||
|
||||
(unordered_mode == TGL_SBID_SRC && ordered_pipe == inferred_pipe) ||
|
||||
(unordered_mode == TGL_SBID_DST && ordered_pipe == TGL_PIPE_ALL);
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
|
|
|||
|
|
@ -947,7 +947,7 @@ TEST_F(scoreboard_test, gitlab_issue_from_mr_29723)
|
|||
EXPECT_EQ(instruction(block0, 1)->sched, regdist(TGL_PIPE_FLOAT, 1));
|
||||
}
|
||||
|
||||
TEST_F(scoreboard_test, DISABLED_combine_regdist_float_and_int_with_sbid_set)
|
||||
TEST_F(scoreboard_test, combine_regdist_float_and_int_with_sbid_set)
|
||||
{
|
||||
devinfo->ver = 20;
|
||||
devinfo->verx10 = 200;
|
||||
|
|
@ -982,7 +982,7 @@ TEST_F(scoreboard_test, DISABLED_combine_regdist_float_and_int_with_sbid_set)
|
|||
EXPECT_EQ(instruction(block0, 2)->sched, expected);
|
||||
}
|
||||
|
||||
TEST_F(scoreboard_test, DISABLED_combine_regdist_float_with_sbid_set)
|
||||
TEST_F(scoreboard_test, combine_regdist_float_with_sbid_set)
|
||||
{
|
||||
devinfo->ver = 20;
|
||||
devinfo->verx10 = 200;
|
||||
|
|
@ -1017,7 +1017,7 @@ TEST_F(scoreboard_test, DISABLED_combine_regdist_float_with_sbid_set)
|
|||
EXPECT_EQ(instruction(block0, 2)->sched, expected);
|
||||
}
|
||||
|
||||
TEST_F(scoreboard_test, DISABLED_combine_regdist_int_with_sbid_set)
|
||||
TEST_F(scoreboard_test, combine_regdist_int_with_sbid_set)
|
||||
{
|
||||
devinfo->ver = 20;
|
||||
devinfo->verx10 = 200;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue