mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-20 17:00:59 +08:00
fix: return error code when set arg for local argument has size zero
Related-To: NEO-16450 Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
645fc3d8af
commit
a503776008
@@ -1391,6 +1391,10 @@ void Kernel::getResidency(std::vector<Surface *> &dst) {
|
|||||||
cl_int Kernel::setArgLocal(uint32_t argIndexIn,
|
cl_int Kernel::setArgLocal(uint32_t argIndexIn,
|
||||||
size_t argSize,
|
size_t argSize,
|
||||||
const void *argVal) {
|
const void *argVal) {
|
||||||
|
if (argSize == 0u) {
|
||||||
|
return CL_INVALID_ARG_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
storeKernelArg(argIndexIn, SLM_OBJ, nullptr, argVal, argSize);
|
storeKernelArg(argIndexIn, SLM_OBJ, nullptr, argVal, argSize);
|
||||||
uint32_t *crossThreadData = reinterpret_cast<uint32_t *>(this->crossThreadData);
|
uint32_t *crossThreadData = reinterpret_cast<uint32_t *>(this->crossThreadData);
|
||||||
uint32_t argIndex = argIndexIn;
|
uint32_t argIndex = argIndexIn;
|
||||||
|
|||||||
@@ -377,6 +377,19 @@ TEST_F(KernelTests, GivenSlmInlineSizeAndSlmOffsetWhenGettingWorkGroupInfoThenCo
|
|||||||
EXPECT_EQ(expectedValue, paramValue);
|
EXPECT_EQ(expectedValue, paramValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(KernelTests, GivenKernelWithLocalArgumentWhenSizeOfArgumentIsZeroThensetArgReturnInvalidSize) {
|
||||||
|
MockKernelInfo kernelInfo = {};
|
||||||
|
kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize = 100u;
|
||||||
|
|
||||||
|
kernelInfo.addArgLocal(0, 0x10, 0x1);
|
||||||
|
|
||||||
|
MockKernel kernel(pProgram, kernelInfo, *pClDevice);
|
||||||
|
kernel.kernelArguments.resize(1);
|
||||||
|
|
||||||
|
auto ret = kernel.setArgLocal(0, 0, nullptr);
|
||||||
|
EXPECT_EQ(ret, CL_INVALID_ARG_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(KernelTests, GivenCFEFusedEUDispatchEnabledAndRequiredDisabledUEFusionWhenGettingPreferredWorkGroupSizeMultipleThenCorectValueIsReturned) {
|
TEST_F(KernelTests, GivenCFEFusedEUDispatchEnabledAndRequiredDisabledUEFusionWhenGettingPreferredWorkGroupSizeMultipleThenCorectValueIsReturned) {
|
||||||
DebugManagerStateRestore dbgRestorer;
|
DebugManagerStateRestore dbgRestorer;
|
||||||
debugManager.flags.CFEFusedEUDispatch.set(0);
|
debugManager.flags.CFEFusedEUDispatch.set(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user