Debug flag to force stateless mocs encryption bit

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2022-09-23 14:13:06 +00:00
committed by Compute-Runtime-Automation
parent 878d646772
commit 6175a3e785
8 changed files with 44 additions and 6 deletions

View File

@@ -93,6 +93,8 @@ void StateBaseAddressHelper<GfxFamily>::programStateBaseAddress(
args.statelessMocsIndex = args.statelessMocsIndex << 1;
GmmHelper::applyMocsEncryptionBit(args.statelessMocsIndex);
args.stateBaseAddressCmd->setStatelessDataPortAccessMemoryObjectControlState(args.statelessMocsIndex);
appendStateBaseAddressParameters(args, overrideBindlessSurfaceStateBase);

View File

@@ -86,8 +86,14 @@ void StateBaseAddressHelper<GfxFamily>::appendStateBaseAddressParameters(
setSbaStatelessCompressionParams<GfxFamily>(args.stateBaseAddressCmd, args.memoryCompressionState);
}
if (args.stateBaseAddressCmd->getStatelessDataPortAccessMemoryObjectControlState() == args.gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER) && DebugManager.flags.ForceL1Caching.get() != 0) {
args.stateBaseAddressCmd->setStatelessDataPortAccessMemoryObjectControlState(args.gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST));
bool l3MocsEnabled = (args.stateBaseAddressCmd->getStatelessDataPortAccessMemoryObjectControlState() >> 1) == (args.gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER) >> 1);
bool constMocsAllowed = (l3MocsEnabled && (DebugManager.flags.ForceL1Caching.get() != 0));
if (constMocsAllowed) {
auto constMocsIndex = args.gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST);
GmmHelper::applyMocsEncryptionBit(constMocsIndex);
args.stateBaseAddressCmd->setStatelessDataPortAccessMemoryObjectControlState(constMocsIndex);
}
appendExtraCacheSettings(args);