@@ -1260,7 +1260,7 @@ HWTEST_F(BufferSetSurfaceTests, givenBufferSetSurfaceThatAddressIsForcedTo32bitW
12601260 using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
12611261 RENDER_SURFACE_STATE surfaceState = {};
12621262
1263- buffer->setArgStateful (&surfaceState, false );
1263+ buffer->setArgStateful (&surfaceState, false , false );
12641264
12651265 auto surfBaseAddress = surfaceState.getSurfaceBaseAddress ();
12661266 auto bufferAddress = buffer->getGraphicsAllocation ()->getGpuAddress ();
@@ -1295,7 +1295,7 @@ HWTEST_F(BufferSetSurfaceTests, givenBufferWithOffsetWhenSetArgStatefulIsCalledT
12951295 using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
12961296 RENDER_SURFACE_STATE surfaceState = {};
12971297
1298- subBuffer->setArgStateful (&surfaceState, false );
1298+ subBuffer->setArgStateful (&surfaceState, false , false );
12991299
13001300 auto surfBaseAddress = surfaceState.getSurfaceBaseAddress ();
13011301 auto bufferAddress = buffer->getGraphicsAllocation ()->getGpuAddress ();
@@ -1308,6 +1308,32 @@ HWTEST_F(BufferSetSurfaceTests, givenBufferWithOffsetWhenSetArgStatefulIsCalledT
13081308 DebugManager.flags .Force32bitAddressing .set (false );
13091309}
13101310
1311+ HWTEST_F (BufferSetSurfaceTests, givenBufferWhenSetArgStatefulWithL3ChacheDisabledIsCalledThenL3CacheShouldBeOff) {
1312+ MockContext context;
1313+ auto size = MemoryConstants::pageSize;
1314+ auto ptr = (void *)alignedMalloc (size * 2 , MemoryConstants::pageSize);
1315+ auto retVal = CL_SUCCESS;
1316+
1317+ auto buffer = std::unique_ptr<Buffer>(Buffer::create (
1318+ &context,
1319+ CL_MEM_USE_HOST_PTR,
1320+ size,
1321+ ptr,
1322+ retVal));
1323+ EXPECT_EQ (CL_SUCCESS, retVal);
1324+
1325+ using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
1326+ RENDER_SURFACE_STATE surfaceState = {};
1327+
1328+ buffer->setArgStateful (&surfaceState, false , true );
1329+
1330+ auto mocs = surfaceState.getMemoryObjectControlState ();
1331+ auto gmmHelper = device->getGmmHelper ();
1332+ EXPECT_EQ (gmmHelper->getMOCS (GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED), mocs);
1333+
1334+ alignedFree (ptr);
1335+ }
1336+
13111337HWTEST_F (BufferSetSurfaceTests, givenRenderCompressedGmmResourceWhenSurfaceStateIsProgrammedThenSetAuxParams) {
13121338 using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
13131339 using AUXILIARY_SURFACE_MODE = typename RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE;
@@ -1322,14 +1348,14 @@ HWTEST_F(BufferSetSurfaceTests, givenRenderCompressedGmmResourceWhenSurfaceState
13221348 buffer->getGraphicsAllocation ()->gmm = gmm;
13231349 gmm->isRenderCompressed = true ;
13241350
1325- buffer->setArgStateful (&surfaceState, false );
1351+ buffer->setArgStateful (&surfaceState, false , false );
13261352
13271353 EXPECT_EQ (0u , surfaceState.getAuxiliarySurfaceBaseAddress ());
13281354 EXPECT_TRUE (AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E == surfaceState.getAuxiliarySurfaceMode ());
13291355 EXPECT_TRUE (RENDER_SURFACE_STATE::COHERENCY_TYPE_GPU_COHERENT == surfaceState.getCoherencyType ());
13301356
13311357 buffer->getGraphicsAllocation ()->setAllocationType (GraphicsAllocation::AllocationType::BUFFER);
1332- buffer->setArgStateful (&surfaceState, false );
1358+ buffer->setArgStateful (&surfaceState, false , false );
13331359 EXPECT_TRUE (AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE == surfaceState.getAuxiliarySurfaceMode ());
13341360}
13351361
@@ -1346,7 +1372,7 @@ HWTEST_F(BufferSetSurfaceTests, givenNonRenderCompressedGmmResourceWhenSurfaceSt
13461372 buffer->getGraphicsAllocation ()->gmm = gmm;
13471373 gmm->isRenderCompressed = false ;
13481374
1349- buffer->setArgStateful (&surfaceState, false );
1375+ buffer->setArgStateful (&surfaceState, false , false );
13501376
13511377 EXPECT_EQ (0u , surfaceState.getAuxiliarySurfaceBaseAddress ());
13521378 EXPECT_TRUE (AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE == surfaceState.getAuxiliarySurfaceMode ());
0 commit comments