refactor: store implicit args version in kernel

- adjust tests to work with implicitargs v0 and v1

Related-To: NEO-14115

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2025-03-10 17:13:28 +00:00
committed by Compute-Runtime-Automation
parent f5e37e725c
commit 34dad4d3de
9 changed files with 77 additions and 41 deletions

View File

@@ -92,6 +92,7 @@ Kernel::Kernel(Program *programArg, const KernelInfo &kernelInfoArg, ClDevice &c
maxKernelWorkGroupSize = static_cast<uint32_t>(deviceInfo.maxWorkGroupSize);
}
slmTotalSize = kernelInfoArg.kernelDescriptor.kernelAttributes.slmInlineSize;
this->implicitArgsVersion = getDevice().getGfxCoreHelper().getImplicitArgsVersion();
}
Kernel::~Kernel() {
@@ -204,7 +205,7 @@ cl_int Kernel::initialize() {
if (kernelDescriptor.kernelAttributes.flags.requiresImplicitArgs) {
pImplicitArgs = std::make_unique<ImplicitArgs>();
*pImplicitArgs = {};
pImplicitArgs->initializeHeader(gfxCoreHelper.getImplicitArgsVersion());
pImplicitArgs->initializeHeader(this->implicitArgsVersion);
pImplicitArgs->setSimdWidth(maxSimdSize);
}
auto ret = KernelHelper::checkIfThereIsSpaceForScratchOrPrivate(kernelDescriptor.kernelAttributes, &pClDevice->getDevice());

View File

@@ -513,6 +513,7 @@ class Kernel : public ReferenceTrackedObject<Kernel>, NEO::NonCopyableAndNonMova
uint32_t slmTotalSize = 0u;
uint32_t sshLocalSize = 0u;
uint32_t crossThreadDataSize = 0u;
uint32_t implicitArgsVersion = 0;
bool containsStatelessWrites = true;
bool usingSharedObjArgs = false;