@@ -14415,9 +14415,16 @@ void EmitPass::A64LSLoopTail(CVariable* curMask, CVariable* lsPred, uint label)
1441514415 m_encoder->SetSecondHalf(tmpSh);
1441614416}
1441714417
14418+ bool EmitPass::hasA64WAEnable() const
14419+ {
14420+ if (m_pCtx->getModuleMetaData()->compOpt.DisableA64WA)
14421+ return false;
14422+ return m_currShader->m_Platform->WaEnableA64WA();
14423+ }
14424+
1441814425void EmitPass::emitGatherA64(CVariable* dst, CVariable* offset, unsigned elemSize, unsigned numElems)
1441914426{
14420- if (IGC_IS_FLAG_ENABLED(EnableA64WA ) && !offset->IsUniform()) {
14427+ if (hasA64WAEnable( ) && !offset->IsUniform()) {
1442114428 CVariable* curMask = nullptr;
1442214429 CVariable* lsPred = nullptr;
1442314430 uint label = 0;
@@ -14437,7 +14444,7 @@ void EmitPass::emitGatherA64(CVariable* dst, CVariable* offset, unsigned elemSiz
1443714444
1443814445void EmitPass::emitGather4A64(CVariable* dst, CVariable* offset)
1443914446{
14440- if (IGC_IS_FLAG_ENABLED(EnableA64WA ) && !offset->IsUniform()) {
14447+ if (hasA64WAEnable( ) && !offset->IsUniform()) {
1444114448 CVariable* curMask = nullptr;
1444214449 CVariable* lsPred = nullptr;
1444314450 uint label = 0;
@@ -14458,7 +14465,7 @@ void EmitPass::emitGather4A64(CVariable* dst, CVariable* offset)
1445814465
1445914466void EmitPass::emitScatterA64(CVariable* val, CVariable* offset, unsigned elementSize, unsigned numElems)
1446014467{
14461- if (IGC_IS_FLAG_ENABLED(EnableA64WA ) && !offset->IsUniform()) {
14468+ if (hasA64WAEnable( ) && !offset->IsUniform()) {
1446214469 CVariable* curMask = nullptr;
1446314470 CVariable* lsPred = nullptr;
1446414471 uint label = 0;
@@ -14479,7 +14486,7 @@ void EmitPass::emitScatterA64(CVariable* val, CVariable* offset, unsigned elemen
1447914486
1448014487void EmitPass::emitScatter4A64(CVariable* src, CVariable* offset)
1448114488{
14482- if (IGC_IS_FLAG_ENABLED(EnableA64WA ) && !offset->IsUniform()) {
14489+ if (hasA64WAEnable( ) && !offset->IsUniform()) {
1448314490 CVariable* curMask = nullptr;
1448414491 CVariable* lsPred = nullptr;
1448514492 uint label = 0;
0 commit comments