Skip to content

Commit 2a8de5a

Browse files
ichenkaiigcbot
authored andcommitted
Add hasLscStoresWithNonDefaultL1CacheControls flag
Add hasLscStoresWithNonDefaultL1CacheControls flag to UMD.
1 parent ab88f59 commit 2a8de5a

File tree

5 files changed

+10
-0
lines changed

5 files changed

+10
-0
lines changed

IGC/AdaptorOCL/DriverInfoOCL.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ namespace TC
8181
bool SupportInlineAssembly() const override { return true; }
8282
/// Enables the use of inline data on XeHP_SDV+
8383
virtual bool UseInlineData() const override { return true; }
84+
bool getLscStoresWithNonDefaultL1CacheControls() const override{ return false; }
8485
};
8586

8687
}//namespace TC

IGC/AdaptorOCL/OCL/KernelAnnotations.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ struct ExecutionEnvironment
334334
bool RequireDisableEUFusion = false;
335335
DWORD PerThreadSpillMemoryUsage = 0;
336336
DWORD PerThreadPrivateMemoryUsage = 0;
337+
bool HasLscStoresWithNonDefaultL1CacheControls = false;
337338
};
338339

339340
struct KernelTypeProgramBinaryInfo

IGC/AdaptorOCL/OCL/sp/zebin_builder.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,7 @@ void ZEBinaryBuilder::addKernelExecEnv(const SOpenCLKernelInfo& annotations,
554554
env.offset_to_skip_per_thread_data_load = annotations.m_threadPayload.OffsetToSkipPerThreadDataLoad;;
555555
env.offset_to_skip_set_ffid_gp = annotations.m_threadPayload.OffsetToSkipSetFFIDGP;
556556
env.generate_local_id = annotations.m_threadPayload.generateLocalID;
557+
env.has_lsc_stores_with_non_default_l1_cache_controls = annotations.m_executionEnvironment.HasLscStoresWithNonDefaultL1CacheControls;
557558

558559
// extract required_sub_group_size from kernel attribute list
559560
// it will be in the format of "intel_reqd_sub_group_size(16)"

IGC/Compiler/CISACodeGen/DriverInfo.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,7 @@ namespace IGC
388388

389389
virtual bool supportLscSamplerRouting() const { return true; }
390390
virtual bool supportBarrierControlFlowOptimization() const { return false; }
391+
virtual bool getLscStoresWithNonDefaultL1CacheControls() const { return true; }
391392

392393
// Informs if the UMD understands atomic pull tile walk for raytracing
393394
virtual bool supportsAtomicPullSWTileWalk() const { return false; }

IGC/Compiler/CISACodeGen/OpenCLKernelCodeGen.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2933,6 +2933,12 @@ namespace IGC
29332933
m_kernelInfo.m_executionEnvironment.UseBindlessMode = m_Context->m_InternalOptions.UseBindlessMode;
29342934
m_kernelInfo.m_executionEnvironment.HasStackCalls = HasStackCalls();
29352935

2936+
2937+
if (m_Context->m_DriverInfo.getLscStoresWithNonDefaultL1CacheControls())
2938+
{
2939+
m_kernelInfo.m_executionEnvironment.HasLscStoresWithNonDefaultL1CacheControls = m_State.GetHasLscStoresWithNonDefaultL1CacheControls();
2940+
}
2941+
29362942
if (m_Context->enableZEBinary()) {
29372943
FillZEKernelArgInfo();
29382944
FillZEUserAttributes(funcInfoMD);

0 commit comments

Comments
 (0)