diff --git a/Jenkinsfile b/Jenkinsfile index 2388f29aee..d6a73c835b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,5 @@ #!groovy dependenciesRevision='3232e5d67b5c3dd2323f13bede3ab1558b5aa4b9-1401' strategy='EQUAL' -allowedCD=247 +allowedCD=246 allowedF=20 diff --git a/opencl/source/mem_obj/buffer_base.inl b/opencl/source/mem_obj/buffer_base.inl index 6a9e449020..7a07650e26 100644 --- a/opencl/source/mem_obj/buffer_base.inl +++ b/opencl/source/mem_obj/buffer_base.inl @@ -86,7 +86,7 @@ void BufferHw::setArgStateful(void *memory, bool forceNonAuxMode, boo auto gmmHelper = rootDeviceEnvironment->getGmmHelper(); if (DebugManager.flags.DisableCachingForStatefulBufferAccess.get()) { - gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED); + surfaceState->setMemoryObjectControlState(gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED)); } } diff --git a/opencl/test/unit_test/mem_obj/buffer_tests.cpp b/opencl/test/unit_test/mem_obj/buffer_tests.cpp index 08bb3f1f64..002f003099 100644 --- a/opencl/test/unit_test/mem_obj/buffer_tests.cpp +++ b/opencl/test/unit_test/mem_obj/buffer_tests.cpp @@ -2195,6 +2195,26 @@ HWTEST_F(BufferSetSurfaceTests, givenBufferSetSurfaceThatMemoryPtrAndSizeIsAlign alignedFree(ptr); } +HWTEST_F(BufferSetSurfaceTests, givenDebugVariableToDisableCachingForStatefulBufferThenL3CacheShouldBeOff) { + DebugManagerStateRestore restore; + DebugManager.flags.DisableCachingForStatefulBufferAccess.set(true); + + auto size = MemoryConstants::pageSize; + auto ptr = (void *)alignedMalloc(size * 2, MemoryConstants::pageSize); + + using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE; + RENDER_SURFACE_STATE surfaceState = {}; + + Buffer::setSurfaceState(device.get(), &surfaceState, size, ptr, 0, nullptr, 0, 0); + + auto mocs = surfaceState.getMemoryObjectControlState(); + auto gmmHelper = device->getGmmHelper(); + EXPECT_EQ(gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED), mocs); + + alignedFree(ptr); + DebugManager.flags.DisableCachingForStatefulBufferAccess.set(false); +} + HWTEST_F(BufferSetSurfaceTests, givenBufferSetSurfaceThatMemoryPtrIsUnalignedToCachelineThenL3CacheShouldBeOff) { auto size = MemoryConstants::pageSize;