Use kernel info to determine if AUX resolves required

This commit decouples the logic for AUX resolves from set kernel arg handlers.

Related-To: NEO-5107

Change-Id: I4c2912dc18633bcaefddb03cc6966e859d95262c
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
This commit is contained in:
Slawomir Milczarek
2020-10-03 23:11:39 +02:00
committed by sys_ocldev
parent 5826d3e105
commit 5f7b763ce5
10 changed files with 85 additions and 24 deletions

View File

@@ -367,8 +367,6 @@ cl_int Kernel::initialize() {
kernelArguments[i].type = BUFFER_OBJ;
usingBuffers = true;
allBufferArgsStateful &= static_cast<uint32_t>(argInfo.pureStatefulBufferAccess);
this->auxTranslationRequired |= !kernelInfo.kernelArgInfo[i].pureStatefulBufferAccess &&
HwHelper::renderCompressedBuffersSupported(hwInfo);
} else if (argInfo.isDeviceQueue) {
kernelArgHandlers[i] = &Kernel::setArgDevQueue;
kernelArguments[i].type = DEVICE_QUEUE_OBJ;
@@ -377,10 +375,9 @@ cl_int Kernel::initialize() {
}
}
auxTranslationRequired = HwHelper::renderCompressedBuffersSupported(hwInfo) && hwHelper.requiresAuxResolves(kernelInfo);
if (DebugManager.flags.ForceAuxTranslationEnabled.get() != -1) {
auxTranslationRequired &= !!DebugManager.flags.ForceAuxTranslationEnabled.get();
} else {
auxTranslationRequired &= hwHelper.requiresAuxResolves();
}
if (auxTranslationRequired) {
program->getContextPtr()->setResolvesRequiredInKernels(true);