fix: merge hasPrintfCalls and usesPrintf flags within KernelAttributes flags

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2025-11-03 09:25:44 +00:00
committed by Compute-Runtime-Automation
parent f84a5fbee9
commit ffb1d297c8
13 changed files with 21 additions and 57 deletions

View File

@@ -1343,14 +1343,12 @@ std::unique_ptr<KernelImp> KernelImp::makeDependentClone() {
void KernelImp::createPrintfBuffer() {
auto &sharedState = *(this->sharedState);
if (this->getImmutableData()->getDescriptor().kernelAttributes.flags.hasPrintfCalls) {
if (this->getImmutableData()->getDescriptor().kernelAttributes.flags.usesPrintf) {
sharedState.printfBuffer = PrintfHandler::createPrintfBuffer(this->module->getDevice());
this->privateState.internalResidencyContainer.push_back(sharedState.printfBuffer);
if (this->getImmutableData()->getDescriptor().kernelAttributes.flags.usesPrintf) {
NEO::patchPointer(getCrossThreadDataSpan(),
this->getImmutableData()->getDescriptor().payloadMappings.implicitArgs.printfSurfaceAddress,
static_cast<uintptr_t>(sharedState.printfBuffer->getGpuAddressToPatch()));
}
NEO::patchPointer(getCrossThreadDataSpan(),
this->getImmutableData()->getDescriptor().payloadMappings.implicitArgs.printfSurfaceAddress,
static_cast<uintptr_t>(sharedState.printfBuffer->getGpuAddressToPatch()));
if (privateState.pImplicitArgs) {
privateState.pImplicitArgs->setPrintfBuffer(sharedState.printfBuffer->getGpuAddress());
}

View File

@@ -1596,7 +1596,7 @@ HWTEST_F(ImmediateCommandListTest,
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->createPrintfBuffer();
module->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});

View File

@@ -239,7 +239,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfUsedWhenAppendedToC
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -258,7 +257,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfUsedWhenAppendedToC
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -282,7 +280,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfWhenAppendedToSynch
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -310,7 +307,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfWhenAppendedToAsync
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -346,7 +342,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfWhenAppendToSynchro
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -384,7 +379,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfAppendedToCommandLi
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -428,7 +422,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfAndEventAppendedToC
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -496,7 +489,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfAndEventAppendedToC
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -559,7 +551,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfAppendedToImmComman
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -587,7 +578,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfAndEventAppendedToI
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -639,7 +629,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithPrintfAndEventAppendedToI
auto kernel = new Mock<KernelImp>{};
kernel->setModule(module.get());
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
static_cast<ModuleImp *>(module.get())->getPrintfKernelContainer().push_back(std::shared_ptr<Kernel>{kernel});
@@ -1889,4 +1878,4 @@ HWTEST2_F(CommandListAppendLaunchKernelMockModule,
}
} // namespace ult
} // namespace L0
} // namespace L0

View File

@@ -862,7 +862,7 @@ struct CmdlistAppendLaunchKernelWithImplicitArgsTests : CmdlistAppendLaunchKerne
kernelDescriptor->kernelAttributes.workgroupDimensionsOrder[0] = workgroupDimOrder[0];
kernelDescriptor->kernelAttributes.workgroupDimensionsOrder[1] = workgroupDimOrder[1];
kernelDescriptor->kernelAttributes.workgroupDimensionsOrder[2] = workgroupDimOrder[2];
kernelDescriptor->kernelAttributes.flags.hasPrintfCalls = true;
kernelDescriptor->kernelAttributes.flags.usesPrintf = true;
createModuleFromMockBinary(0u, false, mockKernelImmData.get());
auto kernel = std::make_unique<MockKernel>(module.get());
@@ -1299,7 +1299,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenTwoKernelPrivateAllocsWhichTogether
auto &kernelDesc = const_cast<KernelDescriptor &>(kernelImmData[i]->getDescriptor());
kernelDesc.kernelAttributes.perHwThreadPrivateMemorySize = overAllocMinSize + static_cast<uint32_t>(i * MemoryConstants::cacheLineSize);
kernelDesc.kernelAttributes.flags.usesPrintf = false;
kernelDesc.kernelAttributes.flags.hasPrintfCalls = false;
kernelDesc.kernelMetadata.kernelName = kernelNames[i];
}
@@ -1336,7 +1335,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenTwoKernelPrivateAllocsWhichDontExce
auto &kernelDesc = const_cast<KernelDescriptor &>(kernelImmData[i]->getDescriptor());
kernelDesc.kernelAttributes.perHwThreadPrivateMemorySize = underAllocSize;
kernelDesc.kernelAttributes.flags.usesPrintf = false;
kernelDesc.kernelAttributes.flags.hasPrintfCalls = false;
kernelDesc.kernelMetadata.kernelName = kernelNames[i];
}

View File

@@ -278,7 +278,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenNonemptyAllocPrintfBufferKernelWhen
kernel->setModule(&module);
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
ze_event_desc_t eventDesc = {};
@@ -308,7 +307,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenNonPrintfKernelForStackCallsWhenApp
kernel->setModule(&module);
kernel->descriptor.kernelAttributes.flags.usesPrintf = false;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = false;
kernel->descriptor.kernelAttributes.flags.useStackCalls = true;
kernel->privateState.pImplicitArgs = Clonable(new ImplicitArgs());
kernel->privateState.pImplicitArgs->v0.header.structVersion = 0;
@@ -347,7 +345,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenEmptyAllocPrintfBufferKernelWhenApp
kernel->setModule(&module);
kernel->descriptor.kernelAttributes.flags.usesPrintf = false;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = false;
kernel->setGroupSize(8, 1, 1);
ze_event_desc_t eventDesc = {};
@@ -376,7 +373,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenNonemptyAllocPrintfBufferKernelWhen
kernel->setModule(&module);
kernel->descriptor.kernelAttributes.flags.usesPrintf = true;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernel->createPrintfBuffer();
kernel->setGroupSize(8, 1, 1);
@@ -412,7 +408,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenNonPrintfKernelAndStackCallsWhenApp
kernel->setModule(&module);
kernel->descriptor.kernelAttributes.flags.usesPrintf = false;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = false;
kernel->descriptor.kernelAttributes.flags.useStackCalls = true;
kernel->privateState.pImplicitArgs = Clonable(new ImplicitArgs());
kernel->privateState.pImplicitArgs->v0.header.structVersion = 0;
@@ -455,7 +450,6 @@ HWTEST_F(CommandListAppendLaunchKernel, givenEmptyAllocPrintfBufferKernelWhenApp
kernel->setModule(&module);
kernel->descriptor.kernelAttributes.flags.usesPrintf = false;
kernel->descriptor.kernelAttributes.flags.hasPrintfCalls = false;
ze_event_desc_t eventDesc = {};
eventDesc.index = 0;

View File

@@ -3824,7 +3824,6 @@ TEST_F(PrintfTest, givenKernelWithPrintfThenPrintfBufferIsCreated) {
Mock<Module> mockModule(this->device, nullptr);
Mock<KernelImp> mockKernel;
mockKernel.descriptor.kernelAttributes.flags.usesPrintf = true;
mockKernel.descriptor.kernelAttributes.flags.hasPrintfCalls = true;
mockKernel.setModule(&mockModule);
EXPECT_TRUE(mockKernel.getImmutableData()->getDescriptor().kernelAttributes.flags.usesPrintf);
@@ -3837,7 +3836,6 @@ TEST_F(PrintfTest, GivenKernelNotUsingPrintfWhenCreatingPrintfBufferThenAllocati
Mock<Module> mockModule(this->device, nullptr);
Mock<KernelImp> mockKernel;
mockKernel.descriptor.kernelAttributes.flags.usesPrintf = false;
mockKernel.descriptor.kernelAttributes.flags.hasPrintfCalls = false;
mockKernel.setModule(&mockModule);
mockKernel.createPrintfBuffer();
@@ -3848,7 +3846,6 @@ TEST_F(PrintfTest, WhenCreatingPrintfBufferThenAllocationAddedToResidencyContain
Mock<Module> mockModule(this->device, nullptr);
Mock<KernelImp> mockKernel;
mockKernel.descriptor.kernelAttributes.flags.usesPrintf = true;
mockKernel.descriptor.kernelAttributes.flags.hasPrintfCalls = true;
mockKernel.setModule(&mockModule);
mockKernel.createPrintfBuffer();
@@ -3864,7 +3861,6 @@ TEST_F(PrintfTest, WhenCreatingPrintfBufferThenCrossThreadDataIsPatched) {
Mock<Module> mockModule(this->device, nullptr);
Mock<KernelImp> mockKernel;
mockKernel.descriptor.kernelAttributes.flags.usesPrintf = true;
mockKernel.descriptor.kernelAttributes.flags.hasPrintfCalls = true;
mockKernel.setModule(&mockModule);
mockKernel.descriptor.payloadMappings.implicitArgs.printfSurfaceAddress.stateless = 0;
@@ -3906,7 +3902,6 @@ HWTEST_F(PrintfHandlerTests, givenKernelWithPrintfWhenPrintingOutputWithBlitterU
auto &kernelDescriptor = kernelInfo->kernelDescriptor;
kernelDescriptor.kernelAttributes.flags.usesPrintf = true;
kernelDescriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernelDescriptor.kernelAttributes.flags.usesStringMapForPrintf = true;
kernelDescriptor.kernelAttributes.binaryFormat = DeviceBinaryFormat::patchtokens;
kernelDescriptor.kernelAttributes.gpuPointerSize = 8u;
@@ -3972,7 +3967,6 @@ HWTEST_F(PrintfHandlerTests, givenPrintDebugMessagesAndKernelWithPrintfWhenBlitt
auto &kernelDescriptor = kernelInfo->kernelDescriptor;
kernelDescriptor.kernelAttributes.flags.usesPrintf = true;
kernelDescriptor.kernelAttributes.flags.hasPrintfCalls = true;
kernelDescriptor.kernelAttributes.flags.usesStringMapForPrintf = true;
kernelDescriptor.kernelAttributes.binaryFormat = DeviceBinaryFormat::patchtokens;
kernelDescriptor.kernelAttributes.gpuPointerSize = 8u;
@@ -4011,7 +4005,6 @@ TEST_F(KernelPatchtokensPrintfStringMapTests, givenKernelWithPrintfStringsMapUsa
auto kernelDescriptor = mockKernelImmData->kernelDescriptor;
kernelDescriptor->kernelAttributes.flags.usesPrintf = true;
kernelDescriptor->kernelAttributes.flags.hasPrintfCalls = true;
kernelDescriptor->kernelAttributes.flags.usesStringMapForPrintf = true;
kernelDescriptor->kernelAttributes.binaryFormat = DeviceBinaryFormat::patchtokens;
std::string expectedString("test123");
@@ -4040,7 +4033,6 @@ TEST_F(KernelPatchtokensPrintfStringMapTests, givenKernelWithPrintfStringsMapUsa
auto kernelDescriptor = mockKernelImmData->kernelDescriptor;
kernelDescriptor->kernelAttributes.flags.usesPrintf = true;
kernelDescriptor->kernelAttributes.flags.hasPrintfCalls = true;
kernelDescriptor->kernelAttributes.flags.usesStringMapForPrintf = false;
kernelDescriptor->kernelAttributes.flags.requiresImplicitArgs = false;
kernelDescriptor->kernelAttributes.binaryFormat = DeviceBinaryFormat::patchtokens;
@@ -4070,7 +4062,6 @@ TEST_F(KernelPatchtokensPrintfStringMapTests, givenKernelWithPrintfStringsMapUsa
auto kernelDescriptor = mockKernelImmData->kernelDescriptor;
kernelDescriptor->kernelAttributes.flags.usesPrintf = true;
kernelDescriptor->kernelAttributes.flags.hasPrintfCalls = true;
kernelDescriptor->kernelAttributes.flags.usesStringMapForPrintf = false;
kernelDescriptor->kernelAttributes.flags.requiresImplicitArgs = true;
kernelDescriptor->kernelAttributes.binaryFormat = DeviceBinaryFormat::patchtokens;
@@ -4101,7 +4092,6 @@ TEST_F(KernelImplicitArgTests, givenKernelWithoutPrintfCallsWithImplicitArgsWhen
std::unique_ptr<MockImmutableData> mockKernelImmData = std::make_unique<MockImmutableData>(0u);
mockKernelImmData->kernelDescriptor->kernelAttributes.flags.requiresImplicitArgs = true;
mockKernelImmData->kernelDescriptor->kernelAttributes.flags.usesPrintf = false;
mockKernelImmData->kernelDescriptor->kernelAttributes.flags.hasPrintfCalls = false;
createModuleFromMockBinary(0u, false, mockKernelImmData.get());
@@ -4123,8 +4113,7 @@ TEST_F(KernelImplicitArgTests, givenKernelWithoutPrintfCallsWithImplicitArgsWhen
TEST_F(KernelImplicitArgTests, givenKernelWithPrintfCallsWithImplicitArgsWhenInitializeThenPrintfSurfaceIsCreatedAndProperlyPatchedInImplicitArgs) {
std::unique_ptr<MockImmutableData> mockKernelImmData = std::make_unique<MockImmutableData>(0u);
mockKernelImmData->kernelDescriptor->kernelAttributes.flags.requiresImplicitArgs = true;
mockKernelImmData->kernelDescriptor->kernelAttributes.flags.usesPrintf = false;
mockKernelImmData->kernelDescriptor->kernelAttributes.flags.hasPrintfCalls = true;
mockKernelImmData->kernelDescriptor->kernelAttributes.flags.usesPrintf = true;
createModuleFromMockBinary(0u, false, mockKernelImmData.get());

View File

@@ -1729,7 +1729,7 @@ void Kernel::unsetArg(uint32_t argIndex) {
}
bool Kernel::hasPrintfOutput() const {
return kernelInfo.kernelDescriptor.kernelAttributes.flags.hasPrintfCalls;
return kernelInfo.kernelDescriptor.kernelAttributes.flags.usesPrintf;
}
void Kernel::resetSharedObjectsPatchAddresses() {

View File

@@ -91,7 +91,7 @@ uint32_t resolveKernelDependencies(const ExternalFunctionInfosT &externalFunctio
const auto &externalFunctionInfo = *externalFunctionInfos.at(funcNameToId.at(kernelDep->usedFuncName));
kernelAttributes.barrierCount = std::max(externalFunctionInfo.barrierCount, kernelAttributes.barrierCount);
kernelAttributes.flags.hasRTCalls |= externalFunctionInfo.hasRTCalls;
kernelAttributes.flags.hasPrintfCalls |= externalFunctionInfo.hasPrintfCalls;
kernelAttributes.flags.usesPrintf |= externalFunctionInfo.hasPrintfCalls;
kernelAttributes.flags.hasIndirectCalls |= externalFunctionInfo.hasIndirectCalls;
kernelAttributes.flags.usesAssert |= externalFunctionInfo.requireAssertBuffer;
kernelAttributes.flags.usesSyncBuffer |= externalFunctionInfo.requireSyncBuffer;
@@ -118,4 +118,4 @@ void DependencyResolver::resolveDependency(size_t nodeId, const std::vector<size
}
resolved.push_back(nodeId);
}
} // namespace NEO
} // namespace NEO

View File

@@ -737,7 +737,7 @@ void populateKernelExecutionEnvironment(KernelDescriptor &dst, const KernelExecu
dst.kernelAttributes.flags.hasSample = execEnv.hasSample;
dst.kernelAttributes.flags.requiresImplicitArgs = execEnv.requireImplicitArgBuffer;
dst.kernelAttributes.flags.hasIndirectCalls = execEnv.hasIndirectCalls;
dst.kernelAttributes.flags.hasPrintfCalls = execEnv.hasPrintfCalls;
dst.kernelAttributes.flags.usesPrintf = execEnv.hasPrintfCalls;
dst.kernelAttributes.flags.usesAssert = execEnv.requireAssertBuffer;
dst.kernelAttributes.flags.usesSyncBuffer = execEnv.requireSyncBuffer;
dst.kernelAttributes.barrierCount = execEnv.barrierCount;
@@ -1394,7 +1394,6 @@ DecodeError populateKernelPayloadArgument(NEO::KernelDescriptor &dst, const Kern
case Types::Kernel::argTypePrintfBuffer:
dst.kernelAttributes.flags.usesPrintf = true;
dst.kernelAttributes.flags.hasPrintfCalls = true;
return populateArgPointerStateless(dst.payloadMappings.implicitArgs.printfSurfaceAddress);
case Types::Kernel::argTypeAssertBuffer:

View File

@@ -144,8 +144,7 @@ struct KernelDescriptor : NEO::NonCopyableAndNonMovableClass {
bool usesAssert : 1;
// 3
bool usesRegionGroupBarrier : 1;
bool hasPrintfCalls : 1;
bool reserved : 6;
bool reserved : 7;
};
std::array<bool, 4> packed;
} flags = {};

View File

@@ -98,7 +98,6 @@ void MockKernelInfo::populatePointerArg(ArgDescPointer &arg, uint8_t pointerSize
void MockKernelInfo::setPrintfSurface(uint8_t dataParamSize, CrossThreadDataOffset crossThreadDataOffset, SurfaceStateHeapOffset sshOffset) {
kernelDescriptor.kernelAttributes.flags.usesPrintf = true;
kernelDescriptor.kernelAttributes.flags.hasPrintfCalls = true;
populatePointerArg(kernelDescriptor.payloadMappings.implicitArgs.printfSurfaceAddress, dataParamSize, crossThreadDataOffset, sshOffset);
}

View File

@@ -290,7 +290,7 @@ TEST_F(ExternalFunctionsTests, GivenValidFunctionAndKernelDependenciesWhenResolv
EXPECT_TRUE(nameToKernelDescriptor["kernel2"]->kernelAttributes.flags.hasRTCalls);
}
TEST_F(ExternalFunctionsTests, GivenValidFunctionAndKernelDependenciesWhenResolvingDependenciesThenSetAppropriateHasPrintfCallsAndReturnSuccess) {
TEST_F(ExternalFunctionsTests, GivenValidFunctionAndKernelDependenciesWhenResolvingDependenciesThenSetAppropriateUsesPrintfFlagAndReturnSuccess) {
addKernel("kernel0");
addKernel("kernel1");
addKernel("kernel2");
@@ -304,15 +304,15 @@ TEST_F(ExternalFunctionsTests, GivenValidFunctionAndKernelDependenciesWhenResolv
addKernelDependency("fun2", "kernel2");
set();
nameToKernelDescriptor["kernel2"]->kernelAttributes.flags.hasPrintfCalls = true;
nameToKernelDescriptor["kernel2"]->kernelAttributes.flags.usesPrintf = true;
auto error = resolveExternalDependencies(extFuncInfo, kernelDependencies, functionDependencies, nameToKernelDescriptor);
EXPECT_EQ(RESOLVE_SUCCESS, error);
EXPECT_TRUE(extFuncInfo[funcNameToId["fun0"]]->hasPrintfCalls);
EXPECT_TRUE(extFuncInfo[funcNameToId["fun1"]]->hasPrintfCalls);
EXPECT_FALSE(extFuncInfo[funcNameToId["fun2"]]->hasPrintfCalls);
EXPECT_TRUE(nameToKernelDescriptor["kernel0"]->kernelAttributes.flags.hasPrintfCalls);
EXPECT_FALSE(nameToKernelDescriptor["kernel1"]->kernelAttributes.flags.hasPrintfCalls);
EXPECT_TRUE(nameToKernelDescriptor["kernel2"]->kernelAttributes.flags.hasPrintfCalls);
EXPECT_TRUE(nameToKernelDescriptor["kernel0"]->kernelAttributes.flags.usesPrintf);
EXPECT_FALSE(nameToKernelDescriptor["kernel1"]->kernelAttributes.flags.usesPrintf);
EXPECT_TRUE(nameToKernelDescriptor["kernel2"]->kernelAttributes.flags.usesPrintf);
}
TEST_F(ExternalFunctionsTests, GivenValidFunctionAndKernelDependenciesWhenResolvingDependenciesThenSetAppropriateHasIndirectCallsAndReturnSuccess) {

View File

@@ -3891,7 +3891,7 @@ TEST_F(decodeZeInfoKernelEntryTest, GivenMinimalExecutionEnvThenPopulateKernelDe
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.hasSample, Defaults::hasSample);
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.usesStatelessWrites, (false == Defaults::hasNoStatelessWrite));
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.hasIndirectCalls, Defaults::hasIndirectCalls);
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.hasPrintfCalls, Defaults::hasPrintfCalls);
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.usesPrintf, Defaults::hasPrintfCalls);
EXPECT_EQ(kernelDescriptor.kernelAttributes.barrierCount, static_cast<uint8_t>(Defaults::barrierCount));
EXPECT_EQ(kernelDescriptor.kernelAttributes.binaryFormat, DeviceBinaryFormat::zebin);
EXPECT_EQ(kernelDescriptor.kernelAttributes.bufferAddressingMode, (Defaults::has4GBBuffers) ? KernelDescriptor::Stateless : KernelDescriptor::BindfulAndStateless);
@@ -5818,7 +5818,6 @@ TEST_F(decodeZeInfoKernelEntryTest, GivenArgTypePrintfBufferWhenOffsetAndSizeIsV
ASSERT_EQ(32U, printfSurfaceAddress.stateless);
EXPECT_EQ(8U, printfSurfaceAddress.pointerSize);
EXPECT_TRUE(kernelDescriptor->kernelAttributes.flags.usesPrintf);
EXPECT_TRUE(kernelDescriptor->kernelAttributes.flags.hasPrintfCalls);
}
TEST_F(decodeZeInfoKernelEntryTest, GivenArgTypeAssertBufferWhenOffsetAndSizeIsValidThenPopulatesKernelDescriptor) {
@@ -7559,7 +7558,7 @@ kernels:
EXPECT_TRUE(kernelDescriptor->kernelAttributes.flags.hasIndirectCalls);
}
TEST_F(decodeZeInfoKernelEntryTest, GivenKernelWithPrintfCallsWhenPopulatingKernelDescriptorThenHasPrintfCallsIsSet) {
TEST_F(decodeZeInfoKernelEntryTest, GivenKernelWithPrintfCallsWhenPopulatingKernelDescriptorThenUsesPrintfFlagIsSet) {
ConstStringRef zeinfo = R"===(
kernels:
- name : some_kernel
@@ -7571,7 +7570,7 @@ kernels:
auto err = decodeZeInfoKernelEntry(zeinfo);
EXPECT_EQ(NEO::DecodeError::success, err);
EXPECT_TRUE(kernelDescriptor->kernelAttributes.flags.hasPrintfCalls);
EXPECT_TRUE(kernelDescriptor->kernelAttributes.flags.usesPrintf);
}
TEST_F(decodeZeInfoKernelEntryTest, GivenKernelRequiringAssertBufferWhenPopulatingKernelDescriptorThenUsesAssertFlagIsSet) {