diff --git a/src/intel/compiler/brw_lower_scoreboard.cpp b/src/intel/compiler/brw_lower_scoreboard.cpp index 80bb0f1c0ab..14c4579fc2c 100644 --- a/src/intel/compiler/brw_lower_scoreboard.cpp +++ b/src/intel/compiler/brw_lower_scoreboard.cpp @@ -1014,19 +1014,19 @@ namespace { return true; else if (devinfo->ver < 20) return ordered_pipe == inferred_pipe && - unordered_mode == (is_unordered(devinfo, inst) ? TGL_SBID_SET : - TGL_SBID_DST); + unordered_mode & (is_unordered(devinfo, inst) ? TGL_SBID_SET : + TGL_SBID_DST); else if (is_send(inst)) - return unordered_mode == TGL_SBID_SET && + 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); + 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); } /** @} */ diff --git a/src/intel/compiler/test_lower_scoreboard.cpp b/src/intel/compiler/test_lower_scoreboard.cpp index b54dee8a051..b35c1b30dce 100644 --- a/src/intel/compiler/test_lower_scoreboard.cpp +++ b/src/intel/compiler/test_lower_scoreboard.cpp @@ -1144,7 +1144,7 @@ TEST_F(scoreboard_test, scalar_register_mov_grf_is_not_in_scalar_pipe) EXPECT_SHADERS_MATCH(bld, exp); } -TEST_F(scoreboard_test, DISABLED_baked_dependency_with_inferred_pipe_combination) +TEST_F(scoreboard_test, baked_dependency_with_inferred_pipe_combination) { brw_builder bld = make_shader(); brw_builder exp = make_shader(); @@ -1181,7 +1181,7 @@ TEST_F(scoreboard_test, DISABLED_baked_dependency_with_inferred_pipe_combination EXPECT_SHADERS_MATCH(bld, exp); } -TEST_F(scoreboard_test, DISABLED_math_inv_with_mul_dependency) +TEST_F(scoreboard_test, math_inv_with_mul_dependency) { brw_builder bld = make_shader(); brw_builder exp = make_shader();