diff --git a/level_zero/core/source/kernel/kernel_imp.cpp b/level_zero/core/source/kernel/kernel_imp.cpp index ac12a076e2..e962f5faba 100644 --- a/level_zero/core/source/kernel/kernel_imp.cpp +++ b/level_zero/core/source/kernel/kernel_imp.cpp @@ -238,7 +238,7 @@ KernelImp::~KernelImp() { alignedFree(perThreadDataForWholeThreadGroup); } if (printfBuffer != nullptr) { - // not allowed to call virtual function on destructor, so calling printOutput directly + //not allowed to call virtual function on destructor, so calling printOutput directly PrintfHandler::printOutput(kernelImmData, this->printfBuffer, module->getDevice()); module->getDevice()->getNEODevice()->getMemoryManager()->freeGraphicsMemory(printfBuffer); } @@ -901,8 +901,7 @@ ze_result_t KernelImp::initialize(const ze_kernel_desc_t *desc) { kernelHasIndirectAccess = kernelDescriptor.kernelAttributes.hasNonKernelArgLoad || kernelDescriptor.kernelAttributes.hasNonKernelArgStore || - kernelDescriptor.kernelAttributes.hasNonKernelArgAtomic || - getImmutableData()->getKernelInfo()->hasIndirectStatelessAccess; + kernelDescriptor.kernelAttributes.hasNonKernelArgAtomic; if (this->usesRayTracing()) { if (this->getImmutableData()->getDescriptor().payloadMappings.implicitArgs.rtDispatchGlobals.pointerSize > 0) { @@ -1029,9 +1028,9 @@ Kernel *Kernel::create(uint32_t productFamily, Module *module, } bool KernelImp::hasIndirectAllocationsAllowed() const { - return this->kernelHasIndirectAccess && (unifiedMemoryControls.indirectDeviceAllocationsAllowed || - unifiedMemoryControls.indirectHostAllocationsAllowed || - unifiedMemoryControls.indirectSharedAllocationsAllowed); + return (unifiedMemoryControls.indirectDeviceAllocationsAllowed || + unifiedMemoryControls.indirectHostAllocationsAllowed || + unifiedMemoryControls.indirectSharedAllocationsAllowed); } uint32_t KernelImp::getSlmTotalSize() const { diff --git a/level_zero/core/source/kernel/kernel_imp.h b/level_zero/core/source/kernel/kernel_imp.h index 6d41728008..356ca585f1 100644 --- a/level_zero/core/source/kernel/kernel_imp.h +++ b/level_zero/core/source/kernel/kernel_imp.h @@ -148,7 +148,7 @@ struct KernelImp : Kernel { ze_result_t getProfileInfo(zet_profile_properties_t *pProfileProperties) override; - bool hasIndirectAccess() const { + bool hasIndirectAccess() { return kernelHasIndirectAccess; } diff --git a/level_zero/core/test/unit_tests/mocks/mock_kernel.h b/level_zero/core/test/unit_tests/mocks/mock_kernel.h index 0920e87a94..1db4339be5 100644 --- a/level_zero/core/test/unit_tests/mocks/mock_kernel.h +++ b/level_zero/core/test/unit_tests/mocks/mock_kernel.h @@ -46,7 +46,6 @@ struct WhiteBox<::L0::Kernel> : public ::L0::KernelImp { using ::L0::KernelImp::crossThreadData; using ::L0::KernelImp::crossThreadDataSize; using ::L0::KernelImp::groupSize; - using ::L0::KernelImp::kernelHasIndirectAccess; using ::L0::KernelImp::kernelImmData; using ::L0::KernelImp::kernelRequiresGenerationOfLocalIdsByRuntime; using ::L0::KernelImp::module; diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_1.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_1.cpp index ef97cc390d..c5bf2af04f 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_1.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_1.cpp @@ -29,7 +29,6 @@ using CommandListAppendLaunchKernel = Test; HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithIndirectAllocationsAllowedThenCommandListReturnsExpectedIndirectAllocationsAllowed) { createKernel(); - kernel->kernelHasIndirectAccess = true; kernel->unifiedMemoryControls.indirectDeviceAllocationsAllowed = true; kernel->unifiedMemoryControls.indirectSharedAllocationsAllowed = true; kernel->unifiedMemoryControls.indirectHostAllocationsAllowed = true; diff --git a/level_zero/core/test/unit_tests/sources/cmdqueue/test_cmdqueue_3.cpp b/level_zero/core/test/unit_tests/sources/cmdqueue/test_cmdqueue_3.cpp index 7af1ba16fa..0aeb89c5f8 100644 --- a/level_zero/core/test/unit_tests/sources/cmdqueue/test_cmdqueue_3.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdqueue/test_cmdqueue_3.cpp @@ -378,7 +378,6 @@ HWTEST_F(CommandQueueIndirectAllocations, givenCommandQueueWhenExecutingCommandL ASSERT_NE(nullptr, gpuAlloc); createKernel(); - kernel->kernelHasIndirectAccess = true; kernel->unifiedMemoryControls.indirectDeviceAllocationsAllowed = true; EXPECT_TRUE(kernel->getUnifiedMemoryControls().indirectDeviceAllocationsAllowed); @@ -443,7 +442,6 @@ HWTEST_F(CommandQueueIndirectAllocations, givenDebugModeToTreatIndirectAllocatio ASSERT_NE(nullptr, gpuAlloc); createKernel(); - kernel->kernelHasIndirectAccess = true; kernel->unifiedMemoryControls.indirectDeviceAllocationsAllowed = true; EXPECT_TRUE(kernel->getUnifiedMemoryControls().indirectDeviceAllocationsAllowed); @@ -507,7 +505,6 @@ HWTEST_F(CommandQueueIndirectAllocations, givenDeviceThatSupportsSubmittingIndir ASSERT_NE(nullptr, gpuAlloc); createKernel(); - kernel->kernelHasIndirectAccess = true; kernel->unifiedMemoryControls.indirectDeviceAllocationsAllowed = true; EXPECT_TRUE(kernel->getUnifiedMemoryControls().indirectDeviceAllocationsAllowed); @@ -572,7 +569,6 @@ HWTEST_F(CommandQueueIndirectAllocations, givenDeviceThatSupportsSubmittingIndir ASSERT_NE(nullptr, gpuAlloc); createKernel(); - kernel->kernelHasIndirectAccess = true; kernel->unifiedMemoryControls.indirectDeviceAllocationsAllowed = true; EXPECT_TRUE(kernel->getUnifiedMemoryControls().indirectDeviceAllocationsAllowed); diff --git a/opencl/source/kernel/kernel.cpp b/opencl/source/kernel/kernel.cpp index c21236eee8..543cd98ac3 100644 --- a/opencl/source/kernel/kernel.cpp +++ b/opencl/source/kernel/kernel.cpp @@ -258,8 +258,7 @@ cl_int Kernel::initialize() { this->kernelHasIndirectAccess |= kernelInfo.kernelDescriptor.kernelAttributes.hasNonKernelArgLoad || kernelInfo.kernelDescriptor.kernelAttributes.hasNonKernelArgStore || - kernelInfo.kernelDescriptor.kernelAttributes.hasNonKernelArgAtomic || - kernelInfo.hasIndirectStatelessAccess; + kernelInfo.kernelDescriptor.kernelAttributes.hasNonKernelArgAtomic; provideInitializationHints(); // resolve the new kernel info to account for kernel handlers @@ -1120,14 +1119,6 @@ inline void Kernel::makeArgsResident(CommandStreamReceiver &commandStreamReceive commandStreamReceiver.makeResident(*memObj->getMcsAllocation()); } } - } else if (kernelArguments[argIndex].svmAllocation) { - auto svmAlloc = kernelArguments[argIndex].svmAllocation; - auto pageFaultManager = executionEnvironment.memoryManager->getPageFaultManager(); - if (pageFaultManager && - this->isUnifiedMemorySyncRequired) { - pageFaultManager->moveAllocationToGpuDomain(reinterpret_cast(svmAlloc->getGpuAddress())); - } - commandStreamReceiver.makeResident(*svmAlloc); } } } @@ -1260,9 +1251,9 @@ void Kernel::makeResident(CommandStreamReceiver &commandStreamReceiver) { gtpinNotifyMakeResident(this, &commandStreamReceiver); - if (this->kernelHasIndirectAccess && (unifiedMemoryControls.indirectDeviceAllocationsAllowed || - unifiedMemoryControls.indirectHostAllocationsAllowed || - unifiedMemoryControls.indirectSharedAllocationsAllowed)) { + if (unifiedMemoryControls.indirectDeviceAllocationsAllowed || + unifiedMemoryControls.indirectHostAllocationsAllowed || + unifiedMemoryControls.indirectSharedAllocationsAllowed) { this->getContext().getSVMAllocsManager()->makeInternalAllocationsResident(commandStreamReceiver, unifiedMemoryControls.generateMask()); } } @@ -1644,24 +1635,6 @@ cl_int Kernel::setArgImmediate(uint32_t argIndex, } } - if (KernelArgMetadata::AddressSpaceQualifier::AddrPrivate == kernelInfo.getArgDescriptorAt(argIndex).getTraits().getAddressQualifier() && - sizeof(void *) == argSize && - isAligned(argVal)) { - const auto possibleSvmPointer = *static_cast(argVal); - if (possibleSvmPointer && isAligned(possibleSvmPointer)) { - const auto context = this->program->getContextPtr(); - if (context) { - const auto svmManager = context->getSVMAllocsManager(); - if (svmManager) { - auto possibleSvmAlloc = svmManager->getSVMAlloc(possibleSvmPointer); - if (possibleSvmAlloc) { - this->kernelArguments[argIndex].svmAllocation = possibleSvmAlloc->gpuAllocations.getGraphicsAllocation(this->getDevice().getRootDeviceIndex()); - } - } - } - } - } - retVal = CL_SUCCESS; } diff --git a/opencl/test/unit_test/kernel/kernel_arg_svm_tests.cpp b/opencl/test/unit_test/kernel/kernel_arg_svm_tests.cpp index f35123e98d..9c48a57d44 100644 --- a/opencl/test/unit_test/kernel/kernel_arg_svm_tests.cpp +++ b/opencl/test/unit_test/kernel/kernel_arg_svm_tests.cpp @@ -5,10 +5,7 @@ * */ -#include "shared/test/common/libult/ult_command_stream_receiver.h" -#include "shared/test/common/mocks/mock_memory_manager.h" #include "shared/test/common/test_macros/hw_test.h" -#include "shared/test/unit_test/page_fault_manager/mock_cpu_page_fault_manager.h" #include "opencl/source/kernel/kernel.h" #include "opencl/source/mem_obj/buffer.h" @@ -16,7 +13,6 @@ #include "opencl/test/unit_test/fixtures/cl_device_fixture.h" #include "opencl/test/unit_test/fixtures/context_fixture.h" #include "opencl/test/unit_test/mocks/mock_buffer.h" -#include "opencl/test/unit_test/mocks/mock_command_queue.h" #include "opencl/test/unit_test/mocks/mock_context.h" #include "opencl/test/unit_test/mocks/mock_kernel.h" #include "opencl/test/unit_test/mocks/mock_program.h" @@ -248,7 +244,7 @@ HWTEST_F(KernelArgSvmTest, givenDeviceSupportingSharedSystemAllocationsWhenSetAr EXPECT_EQ(16384u, surfaceState->getHeight()); } -TEST_F(KernelArgSvmTest, givenNullArgValWhenSettingKernelArgImmediateThenInvalidArgValueErrorIsReturned) { +TEST_F(KernelArgSvmTest, WhenSettingKernelArgImmediateThenInvalidArgValueErrorIsReturned) { const ClDeviceInfo &devInfo = pClDevice->getDeviceInfo(); if (devInfo.svmCapabilities == 0) { GTEST_SKIP(); @@ -258,125 +254,6 @@ TEST_F(KernelArgSvmTest, givenNullArgValWhenSettingKernelArgImmediateThenInvalid EXPECT_EQ(CL_INVALID_ARG_VALUE, retVal); } -HWTEST_F(KernelArgSvmTest, givenSvmAllocationWhenPassingSvmPointerByValueThenItIsAddedToKernelUnifiedMemoryGfxAllocations) { - const ClDeviceInfo &devInfo = pClDevice->getDeviceInfo(); - if (devInfo.svmCapabilities == 0) { - GTEST_SKIP(); - } - - auto mockKernelInfo = std::make_unique(); - mockKernelInfo->kernelDescriptor.kernelAttributes.simdSize = 1; - - mockKernelInfo->heapInfo.pSsh = pSshLocal; - mockKernelInfo->heapInfo.SurfaceStateHeapSize = sizeof(pSshLocal); - - mockKernelInfo->addArgImmediate(0, sizeof(void *) * 2, 0x40, sizeof(void *) * 2); - mockKernelInfo->setAddressQualifier(0, KernelArgMetadata::AddressSpaceQualifier::AddrPrivate); - - mockKernelInfo->addArgImmediate(1, sizeof(void *), 0x30, sizeof(void *)); - mockKernelInfo->setAddressQualifier(1, KernelArgMetadata::AddressSpaceQualifier::AddrGlobal); - - mockKernelInfo->addArgImmediate(2, sizeof(void *), 0x20, sizeof(void *)); - mockKernelInfo->setAddressQualifier(2, KernelArgMetadata::AddressSpaceQualifier::AddrPrivate); - - mockKernelInfo->addArgImmediate(3, sizeof(void *), 0x10, sizeof(void *)); - mockKernelInfo->setAddressQualifier(3, KernelArgMetadata::AddressSpaceQualifier::AddrPrivate); - - auto mockProgram = std::make_unique(pContext, false, toClDeviceVector(*pClDevice)); - auto mockKernel = std::make_unique(mockProgram.get(), *mockKernelInfo, *pClDevice); - ASSERT_EQ(mockKernel->initialize(), CL_SUCCESS); - - auto memoryManager = static_cast(pClDevice->getExecutionEnvironment()->memoryManager.get()); - memoryManager->pageFaultManager.reset(new MockPageFaultManager()); - auto pageFaultManager = static_cast(memoryManager->pageFaultManager.get()); - auto svmManager = pContext->getSVMAllocsManager(); - RootDeviceIndicesContainer rootDeviceIndices = {mockRootDeviceIndex}; - std::map deviceBitfields{{mockRootDeviceIndex, mockDeviceBitfield}}; - SVMAllocsManager::UnifiedMemoryProperties unifiedMemoryProperties(InternalMemoryType::SHARED_UNIFIED_MEMORY, rootDeviceIndices, deviceBitfields); - unifiedMemoryProperties.device = pDevice; - auto allocation = svmManager->createUnifiedMemoryAllocation(1, unifiedMemoryProperties); - pageFaultManager->insertAllocation(allocation, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - auto allocation2 = svmManager->createUnifiedMemoryAllocation(1, unifiedMemoryProperties); - pageFaultManager->insertAllocation(allocation2, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - auto allocation3 = svmManager->createUnifiedMemoryAllocation(1, unifiedMemoryProperties); - pageFaultManager->insertAllocation(allocation3, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - void *unalignedPtr = reinterpret_cast(0x1u); - EXPECT_EQ(mockKernel->setArgImmediate(0, sizeof(void *) * 2, &allocation), CL_SUCCESS); - EXPECT_EQ(mockKernel->setArgImmediate(1, sizeof(void *), &allocation), CL_SUCCESS); - EXPECT_EQ(mockKernel->setArgImmediate(2, sizeof(void *), unalignedPtr), CL_SUCCESS); - - auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); - commandStreamReceiver.storeMakeResidentAllocations = true; - auto commandQueue = std::make_unique>(pContext, pClDevice, nullptr); - const size_t offset = 0; - const size_t size = 1; - - EXPECT_EQ(commandQueue->enqueueKernel(mockKernel.get(), 1, &offset, &size, &size, 0, nullptr, nullptr), CL_SUCCESS); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation).domain, PageFaultManager::AllocationDomain::Cpu); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation2)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation2).domain, PageFaultManager::AllocationDomain::Cpu); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation3)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation3).domain, PageFaultManager::AllocationDomain::Cpu); - - commandStreamReceiver.makeResidentAllocations.clear(); - pageFaultManager->removeAllocation(allocation); - pageFaultManager->insertAllocation(allocation, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - pageFaultManager->removeAllocation(allocation2); - pageFaultManager->insertAllocation(allocation2, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - pageFaultManager->removeAllocation(allocation3); - pageFaultManager->insertAllocation(allocation3, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - - EXPECT_EQ(mockKernel->setArgImmediate(3, sizeof(void *), &allocation2), CL_SUCCESS); - EXPECT_EQ(commandQueue->enqueueKernel(mockKernel.get(), 1, &offset, &size, &size, 0, nullptr, nullptr), CL_SUCCESS); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation).domain, PageFaultManager::AllocationDomain::Cpu); - EXPECT_TRUE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation2)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation2).domain, PageFaultManager::AllocationDomain::Gpu); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation3)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation3).domain, PageFaultManager::AllocationDomain::Cpu); - - commandStreamReceiver.makeResidentAllocations.clear(); - pageFaultManager->removeAllocation(allocation); - pageFaultManager->insertAllocation(allocation, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - pageFaultManager->removeAllocation(allocation2); - pageFaultManager->insertAllocation(allocation2, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - pageFaultManager->removeAllocation(allocation3); - pageFaultManager->insertAllocation(allocation3, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - - mockKernel->isUnifiedMemorySyncRequired = false; - EXPECT_EQ(mockKernel->setArgImmediate(3, sizeof(void *), &allocation3), CL_SUCCESS); - EXPECT_EQ(commandQueue->enqueueKernel(mockKernel.get(), 1, &offset, &size, &size, 0, nullptr, nullptr), CL_SUCCESS); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation).domain, PageFaultManager::AllocationDomain::Cpu); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation2)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation2).domain, PageFaultManager::AllocationDomain::Cpu); - EXPECT_TRUE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation3)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation3).domain, PageFaultManager::AllocationDomain::Cpu); - - commandStreamReceiver.makeResidentAllocations.clear(); - pageFaultManager->removeAllocation(allocation); - pageFaultManager->insertAllocation(allocation, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - pageFaultManager->removeAllocation(allocation2); - pageFaultManager->insertAllocation(allocation2, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - pageFaultManager->removeAllocation(allocation3); - pageFaultManager->insertAllocation(allocation3, 1, pContext->getSVMAllocsManager(), pContext->getSpecialQueue(pDevice->getRootDeviceIndex()), {}); - - mockKernel->isUnifiedMemorySyncRequired = true; - EXPECT_EQ(mockKernel->setArgImmediate(3, sizeof(void *), &allocation3), CL_SUCCESS); - EXPECT_EQ(commandQueue->enqueueKernel(mockKernel.get(), 1, &offset, &size, &size, 0, nullptr, nullptr), CL_SUCCESS); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation).domain, PageFaultManager::AllocationDomain::Cpu); - EXPECT_FALSE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation2)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation2).domain, PageFaultManager::AllocationDomain::Cpu); - EXPECT_TRUE(commandStreamReceiver.isMadeResident(svmManager->getSVMAlloc(allocation3)->gpuAllocations.getGraphicsAllocation(mockRootDeviceIndex))); - EXPECT_EQ(pageFaultManager->memoryData.at(allocation3).domain, PageFaultManager::AllocationDomain::Gpu); - - svmManager->freeSVMAlloc(allocation); - svmManager->freeSVMAlloc(allocation2); - svmManager->freeSVMAlloc(allocation3); -} - HWTEST_F(KernelArgSvmTest, WhenPatchingWithImplicitSurfaceThenPatchIsApplied) { const ClDeviceInfo &devInfo = pClDevice->getDeviceInfo(); if (devInfo.svmCapabilities == 0) { diff --git a/shared/source/device_binary_format/zebin_decoder.cpp b/shared/source/device_binary_format/zebin_decoder.cpp index 028955517d..47ad5e5da2 100644 --- a/shared/source/device_binary_format/zebin_decoder.cpp +++ b/shared/source/device_binary_format/zebin_decoder.cpp @@ -324,9 +324,6 @@ DecodeError readZeInfoExperimentalProperties(const NEO::Yaml::YamlParser &parser ConstStringRef context, std::string &outErrReason, std::string &outWarning) { bool validExperimentalProperty = true; - outExperimentalProperties.hasNonKernelArgLoad = true; - outExperimentalProperties.hasNonKernelArgStore = true; - outExperimentalProperties.hasNonKernelArgAtomic = true; for (const auto &experimentalPropertyNd : parser.createChildrenRange(node)) { for (const auto &experimentalPropertyMemberNd : parser.createChildrenRange(experimentalPropertyNd)) { auto key = parser.readKey(experimentalPropertyMemberNd); diff --git a/shared/source/kernel/kernel_descriptor.h b/shared/source/kernel/kernel_descriptor.h index 3a33da0c38..09ea804c74 100644 --- a/shared/source/kernel/kernel_descriptor.h +++ b/shared/source/kernel/kernel_descriptor.h @@ -151,9 +151,9 @@ struct KernelDescriptor { uint16_t numArgsToPatch = 0U; uint16_t numGrfRequired = 0U; uint8_t barrierCount = 0u; - bool hasNonKernelArgLoad = false; - bool hasNonKernelArgStore = false; - bool hasNonKernelArgAtomic = false; + bool hasNonKernelArgLoad = true; + bool hasNonKernelArgStore = true; + bool hasNonKernelArgAtomic = true; AddressingMode bufferAddressingMode = BindfulAndStateless; AddressingMode imageAddressingMode = Bindful;