Skip to content

Commit 95735af

Browse files
JaroszPiotrigcbot
authored andcommitted
Replace the scope of lsc_fence_evict_to_memory
For XE3 and LNL lsc_fence_evict_to_memory should use LSC_SCOPE_SYSREL scope instead of LSC_SCOPE_GPU.
1 parent d65fbd5 commit 95735af

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

IGC/Compiler/Optimizer/OpenCLPasses/LSCFuncs/LSCFuncsResolution.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1402,10 +1402,18 @@ Instruction* LSCFuncsResolution::CreateLSCFenceEvictToMemory()
14021402
return nullptr;
14031403
}
14041404

1405+
LSC_SCOPE scope = LSC_SCOPE_GPU;
1406+
1407+
if (context->platform.isCoreChildOf(IGFX_XE3_CORE) ||
1408+
(context->platform.getPlatformInfo().eProductFamily == IGFX_LUNARLAKE))
1409+
{
1410+
scope = LSC_SCOPE_SYSREL;
1411+
}
1412+
14051413
Value* args[3]
14061414
{
14071415
getConstantInt32(LSC_UGM), // immediate sfid
1408-
getConstantInt32(LSC_SCOPE_GPU), // immediate scope of the fence
1416+
getConstantInt32(scope), // immediate scope of the fence
14091417
(context->platform.getPlatformInfo().eRenderCoreFamily == IGFX_XE_HPC_CORE) ?
14101418
getConstantInt32(LSC_FENCE_OP_NONE) :
14111419
getConstantInt32(LSC_FENCE_OP_EVICT) // immediate flush type

0 commit comments

Comments
 (0)