fix: set NotLockable flag when resource doesn't need to be lockable

disable compression preference when resource is lockable

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2023-05-09 14:48:09 +00:00
committed by Compute-Runtime-Automation
parent 36d3c65284
commit 7b2af39fd6
13 changed files with 64 additions and 13 deletions

View File

@@ -54,6 +54,8 @@ Gmm::Gmm(GmmHelper *gmmHelper, const void *alignedPtr, size_t alignedSize, size_
resourceParams.Flags.Gpu.NoRestriction = 1;
}
preferCompressed &= !storageInfo.isLockable;
applyAuxFlagsForBuffer(preferCompressed);
applyMemoryFlags(storageInfo);
applyAppResource(storageInfo);
@@ -73,6 +75,7 @@ Gmm::~Gmm() = default;
Gmm::Gmm(GmmHelper *gmmHelper, ImageInfo &inputOutputImgInfo, const StorageInfo &storageInfo, bool preferCompressed) : gmmHelper(gmmHelper) {
this->resourceParams = {};
preferCompressed &= !storageInfo.isLockable;
setupImageResourceParams(inputOutputImgInfo, preferCompressed);
applyMemoryFlags(storageInfo);
applyAppResource(storageInfo);
@@ -346,13 +349,15 @@ void Gmm::applyMemoryFlags(const StorageInfo &storageInfo) {
if (extraMemoryFlagsRequired()) {
applyExtraMemoryFlags(storageInfo);
} else if (!storageInfo.isLockable) {
resourceParams.Flags.Info.NotLockable = 1;
if (isCompressionEnabled || storageInfo.localOnlyRequired) {
resourceParams.Flags.Info.LocalOnly = 1;
}
}
}
}
if (!storageInfo.isLockable) {
resourceParams.Flags.Info.NotLockable = 1;
}
if (hardwareInfo->featureTable.flags.ftrMultiTileArch) {
resourceParams.MultiTileArch.Enable = 1;