@@ -333,6 +333,23 @@ TEST_F(KernelArgBufferTest, givenBufferWhenHasDirectStatelessAccessToHostMemoryI
333
333
}
334
334
}
335
335
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
+
336
353
TEST_F (KernelArgBufferTest, givenBufferInHostMemoryWhenHasDirectStatelessAccessToHostMemoryIsCalledThenReturnCorrectValue) {
337
354
MockBuffer buffer;
338
355
buffer.getGraphicsAllocation (mockRootDeviceIndex)->setAllocationType (GraphicsAllocation::AllocationType::BUFFER_HOST_MEMORY);
@@ -462,6 +479,28 @@ TEST_F(KernelArgBufferTest, whenSettingAuxTranslationRequiredThenIsAuxTranslatio
462
479
}
463
480
}
464
481
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
+
465
504
TEST_F (KernelArgBufferTest, givenSetArgBufferOnKernelWithDirectStatelessAccessToHostMemoryWhenUpdateAuxTranslationRequiredIsCalledThenIsAuxTranslationRequiredShouldReturnTrue) {
466
505
DebugManagerStateRestore debugRestorer;
467
506
DebugManager.flags .EnableStatelessCompression .set (1 );
0 commit comments