@@ -333,6 +333,23 @@ TEST_F(KernelArgBufferTest, givenBufferWhenHasDirectStatelessAccessToHostMemoryI
333333 }
334334}
335335
336+ TEST_F (KernelArgBufferTest, givenSharedBufferWhenHasDirectStatelessAccessToSharedBufferIsCalledThenReturnCorrectValue) {
337+ MockBuffer buffer;
338+ buffer.getGraphicsAllocation (mockRootDeviceIndex)->setAllocationType (GraphicsAllocation::AllocationType::SHARED_BUFFER);
339+
340+ auto val = (cl_mem)&buffer;
341+ auto pVal = &val;
342+
343+ for (auto pureStatefulBufferAccess : {false , true }) {
344+ pKernelInfo->setBufferStateful (0 , pureStatefulBufferAccess);
345+
346+ auto retVal = pKernel->setArg (0 , sizeof (cl_mem *), pVal);
347+ EXPECT_EQ (CL_SUCCESS, retVal);
348+
349+ EXPECT_EQ (!pureStatefulBufferAccess, pKernel->hasDirectStatelessAccessToSharedBuffer ());
350+ }
351+ }
352+
336353TEST_F (KernelArgBufferTest, givenBufferInHostMemoryWhenHasDirectStatelessAccessToHostMemoryIsCalledThenReturnCorrectValue) {
337354 MockBuffer buffer;
338355 buffer.getGraphicsAllocation (mockRootDeviceIndex)->setAllocationType (GraphicsAllocation::AllocationType::BUFFER_HOST_MEMORY);
@@ -462,6 +479,28 @@ TEST_F(KernelArgBufferTest, whenSettingAuxTranslationRequiredThenIsAuxTranslatio
462479 }
463480}
464481
482+ TEST_F (KernelArgBufferTest, givenSetArgBufferOnKernelWithDirectStatelessAccessToSharedBufferWhenUpdateAuxTranslationRequiredIsCalledThenIsAuxTranslationRequiredShouldReturnTrue) {
483+ DebugManagerStateRestore debugRestorer;
484+ DebugManager.flags .EnableStatelessCompression .set (1 );
485+
486+ MockBuffer buffer;
487+ buffer.getGraphicsAllocation (mockRootDeviceIndex)->setAllocationType (GraphicsAllocation::AllocationType::SHARED_BUFFER);
488+
489+ auto val = (cl_mem)&buffer;
490+ auto pVal = &val;
491+
492+ auto retVal = pKernel->setArg (0 , sizeof (cl_mem *), pVal);
493+ EXPECT_EQ (CL_SUCCESS, retVal);
494+
495+ EXPECT_TRUE (pKernel->hasDirectStatelessAccessToSharedBuffer ());
496+
497+ EXPECT_FALSE (pKernel->isAuxTranslationRequired ());
498+
499+ pKernel->updateAuxTranslationRequired ();
500+
501+ EXPECT_TRUE (pKernel->isAuxTranslationRequired ());
502+ }
503+
465504TEST_F (KernelArgBufferTest, givenSetArgBufferOnKernelWithDirectStatelessAccessToHostMemoryWhenUpdateAuxTranslationRequiredIsCalledThenIsAuxTranslationRequiredShouldReturnTrue) {
466505 DebugManagerStateRestore debugRestorer;
467506 DebugManager.flags .EnableStatelessCompression .set (1 );
0 commit comments