Skip to content

Commit c0b875d

Browse files
bcheng0127igcbot
authored andcommitted
Add platforms to avoid dst/src overlap
Send dst src operand overlap may cause dead lock due to SBID dependence
1 parent 041f93a commit c0b875d

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

IGC/Compiler/CISACodeGen/CISABuilder.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5251,11 +5251,6 @@ namespace IGC
52515251
SaveOption(vISA_noSendSrcDstOverlap, true);
52525252
}
52535253

5254-
if (m_program->m_Platform->WaDisableSendSrcDstOverlap())
5255-
{
5256-
SaveOption(vISA_noSendSrcDstOverlap, true);
5257-
}
5258-
52595254
// Set to stitch all functions to all kernels in a VISABuidler
52605255
SaveOption(vISA_noStitchExternFunc, false);
52615256

IGC/Compiler/CISACodeGen/Platform.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1567,10 +1567,12 @@ bool WaGeoShaderURBAllocReduction() const
15671567

15681568
bool WaDisableSendSrcDstOverlap() const
15691569
{
1570-
return (!IGC_IS_FLAG_ENABLED(DisableSendSrcDstOverlapWA)) &&
1571-
(m_SkuTable.FtrWddm2Svm != 0 || m_platformInfo.eRenderCoreFamily == IGFX_GEN10_CORE ||
1572-
m_platformInfo.eRenderCoreFamily == IGFX_GEN11_CORE);
1573-
1570+
return (!IGC_IS_FLAG_ENABLED(DisableSendSrcDstOverlapWA)) &&
1571+
(m_SkuTable.FtrWddm2Svm != 0 ||
1572+
m_platformInfo.eRenderCoreFamily == IGFX_GEN10_CORE ||
1573+
m_platformInfo.eRenderCoreFamily == IGFX_GEN11_CORE ||
1574+
(m_platformInfo.eProductFamily >= IGFX_PVC &&
1575+
m_platformInfo.eProductFamily <= IGFX_ARROWLAKE));
15741576
}
15751577

15761578
bool WaInsertHDCFenceBeforeEOTWhenSparseAliasedResources() const

visa/HWCaps.inc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,8 @@ bool has8ByteA64Gather() const { return getPlatform() != GENX_TGLLP; }
334334
bool WaDisableSendSrcDstOverlap() const {
335335
return getOption(vISA_noSendSrcDstOverlap) ||
336336
(m_options->getTarget() == VISA_CM && getPlatform() >= GENX_SKL &&
337-
getPlatform() < GENX_TGLLP) ||
338-
getPlatform() == GENX_ICLLP;
337+
getPlatform() < GENX_TGLLP) || getPlatform() == GENX_ICLLP ||
338+
(getPlatform() >= Xe_MTL && getPlatform() <= Xe_PVCXT);
339339
}
340340

341341
bool isXeLP() const { return getPlatform() == GENX_TGLLP; }

0 commit comments

Comments
 (0)