diff --git a/opencl/source/command_queue/command_queue.cpp b/opencl/source/command_queue/command_queue.cpp index 473d295595..438dea06ed 100644 --- a/opencl/source/command_queue/command_queue.cpp +++ b/opencl/source/command_queue/command_queue.cpp @@ -278,7 +278,7 @@ cl_int CommandQueue::enqueueReleaseSharedObjects(cl_uint numObjects, const cl_me return CL_INVALID_MEM_OBJECT; } - memObject->peekSharingHandler()->release(memObject); + memObject->peekSharingHandler()->release(memObject, getDevice().getRootDeviceIndex()); DEBUG_BREAK_IF(memObject->acquireCount <= 0); memObject->acquireCount--; } diff --git a/opencl/source/sharings/d3d/d3d_sharing.cpp b/opencl/source/sharings/d3d/d3d_sharing.cpp index 57c1797118..e2ea94a216 100644 --- a/opencl/source/sharings/d3d/d3d_sharing.cpp +++ b/opencl/source/sharings/d3d/d3d_sharing.cpp @@ -56,7 +56,7 @@ void D3DSharing::synchronizeObject(UpdateData &updateData) { } template -void D3DSharing::releaseResource(MemObj *memObject) { +void D3DSharing::releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) { if (!sharedResource) { sharingFunctions->getDeviceContext(d3dQuery); sharingFunctions->copySubresourceRegion(resource, subresource, resourceStaging, 0); diff --git a/opencl/source/sharings/d3d/d3d_sharing.h b/opencl/source/sharings/d3d/d3d_sharing.h index 435e1f0218..bce3a6f645 100644 --- a/opencl/source/sharings/d3d/d3d_sharing.h +++ b/opencl/source/sharings/d3d/d3d_sharing.h @@ -29,7 +29,7 @@ class D3DSharing : public SharingHandler { ~D3DSharing() override; void synchronizeObject(UpdateData &updateData) override; - void releaseResource(MemObj *memObject) override; + void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) override; D3DResource **getResourceHandler() { return &resource; } void *getResourceStaging() { return resourceStaging; } diff --git a/opencl/source/sharings/d3d/d3d_surface.cpp b/opencl/source/sharings/d3d/d3d_surface.cpp index 3f6da7cc5d..96e097ec9f 100644 --- a/opencl/source/sharings/d3d/d3d_surface.cpp +++ b/opencl/source/sharings/d3d/d3d_surface.cpp @@ -152,7 +152,7 @@ void D3DSurface::synchronizeObject(UpdateData &updateData) { updateData.synchronizationStatus = SynchronizeStatus::ACQUIRE_SUCCESFUL; } -void D3DSurface::releaseResource(MemObj *memObject) { +void D3DSurface::releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) { D3DLOCKED_RECT lockedRect = {}; auto image = castToObject(memObject); if (!image) { diff --git a/opencl/source/sharings/d3d/d3d_surface.h b/opencl/source/sharings/d3d/d3d_surface.h index 6d3aac7343..a28af48b81 100644 --- a/opencl/source/sharings/d3d/d3d_surface.h +++ b/opencl/source/sharings/d3d/d3d_surface.h @@ -30,7 +30,7 @@ class D3DSurface : public D3DSharing { static const std::vector D3DPlane2Formats; static cl_int findImgFormat(D3DFORMAT d3dFormat, cl_image_format &imgFormat, cl_uint plane, ImagePlane &imagePlane); void synchronizeObject(UpdateData &updateData) override; - void releaseResource(MemObj *memObject) override; + void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) override; int validateUpdateData(UpdateData &updateData) override; cl_dx9_surface_info_khr &getSurfaceInfo() { return surfaceInfo; } diff --git a/opencl/source/sharings/gl/gl_buffer.h b/opencl/source/sharings/gl/gl_buffer.h index a4557788ab..c442d9a03f 100644 --- a/opencl/source/sharings/gl/gl_buffer.h +++ b/opencl/source/sharings/gl/gl_buffer.h @@ -27,7 +27,7 @@ class GlBuffer : public GlSharing { GlBuffer(GLSharingFunctions *sharingFunctions, unsigned int glObjectId) : GlSharing(sharingFunctions, CL_GL_OBJECT_BUFFER, glObjectId){}; - void releaseResource(MemObj *memObject) override; + void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) override; void resolveGraphicsAllocationChange(osHandle currentSharedHandle, UpdateData *updateData) override; void popGraphicsAllocationFromReuse(GraphicsAllocation *graphicsAllocation); diff --git a/opencl/source/sharings/gl/gl_texture.h b/opencl/source/sharings/gl/gl_texture.h index 6075591a5d..31ad738788 100644 --- a/opencl/source/sharings/gl/gl_texture.h +++ b/opencl/source/sharings/gl/gl_texture.h @@ -36,7 +36,7 @@ class GlTexture : GlSharing { static uint32_t getClObjectType(cl_GLenum glType, bool returnClGlObjectType); - void releaseResource(MemObj *memObject) override; + void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) override; cl_GLenum target; cl_GLint miplevel; diff --git a/opencl/source/sharings/gl/windows/gl_buffer_windows.cpp b/opencl/source/sharings/gl/windows/gl_buffer_windows.cpp index 76c822360b..115070d3d5 100644 --- a/opencl/source/sharings/gl/windows/gl_buffer_windows.cpp +++ b/opencl/source/sharings/gl/windows/gl_buffer_windows.cpp @@ -164,7 +164,7 @@ GraphicsAllocation *GlBuffer::createGraphicsAllocation(Context *context, unsigne return graphicsAllocation; } -void GlBuffer::releaseResource(MemObj *memObject) { +void GlBuffer::releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) { auto sharingFunctions = static_cast(this->sharingFunctions); CL_GL_BUFFER_INFO bufferInfo = {}; bufferInfo.bufferName = this->clGlObjectId; diff --git a/opencl/source/sharings/gl/windows/gl_texture_windows.cpp b/opencl/source/sharings/gl/windows/gl_texture_windows.cpp index ef8ade11ec..2e7b755201 100644 --- a/opencl/source/sharings/gl/windows/gl_texture_windows.cpp +++ b/opencl/source/sharings/gl/windows/gl_texture_windows.cpp @@ -253,7 +253,7 @@ cl_GLenum GlTexture::getBaseTargetType(cl_GLenum target) { return returnTarget; } -void GlTexture::releaseResource(MemObj *memObject) { +void GlTexture::releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) { auto sharingFunctions = static_cast(this->sharingFunctions); if (target == GL_RENDERBUFFER_EXT) { sharingFunctions->releaseSharedRenderBuffer(&textureInfo); diff --git a/opencl/source/sharings/sharing.cpp b/opencl/source/sharings/sharing.cpp index 606c4c220e..9e34560971 100644 --- a/opencl/source/sharings/sharing.cpp +++ b/opencl/source/sharings/sharing.cpp @@ -51,11 +51,11 @@ int SharingHandler::validateUpdateData(UpdateData &updateData) { void SharingHandler::resolveGraphicsAllocationChange(osHandle currentSharedHandle, UpdateData *updateData) { } -void SharingHandler::release(MemObj *memObject) { +void SharingHandler::release(MemObj *memObject, uint32_t rootDeviceIndex) { DEBUG_BREAK_IF(acquireCount <= 0); acquireCount--; if (acquireCount == 0) { - releaseResource(memObject); + releaseResource(memObject, rootDeviceIndex); } } } // namespace NEO diff --git a/opencl/source/sharings/sharing.h b/opencl/source/sharings/sharing.h index 9bf4b2ae7a..9d786c7ad0 100644 --- a/opencl/source/sharings/sharing.h +++ b/opencl/source/sharings/sharing.h @@ -36,7 +36,7 @@ class SharingFunctions { class SharingHandler { public: int acquire(MemObj *memObj); - void release(MemObj *memObject); + void release(MemObj *memObject, uint32_t rootDeviceIndex); virtual ~SharingHandler() = default; virtual void getMemObjectInfo(size_t ¶mValueSize, void *¶mValue){}; @@ -47,7 +47,7 @@ class SharingHandler { virtual int validateUpdateData(UpdateData &updateData); virtual void synchronizeObject(UpdateData &updateData) { updateData.synchronizationStatus = SYNCHRONIZE_ERROR; } virtual void resolveGraphicsAllocationChange(osHandle currentSharedHandle, UpdateData *updateData); - virtual void releaseResource(MemObj *memObject){}; + virtual void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex){}; unsigned int acquireCount = 0u; }; } // namespace NEO diff --git a/opencl/source/sharings/unified/unified_sharing.cpp b/opencl/source/sharings/unified/unified_sharing.cpp index ef345ca4a9..8e3b0bed79 100644 --- a/opencl/source/sharings/unified/unified_sharing.cpp +++ b/opencl/source/sharings/unified/unified_sharing.cpp @@ -29,7 +29,7 @@ void UnifiedSharing::synchronizeObject(UpdateData &updateData) { updateData.synchronizationStatus = SynchronizeStatus::ACQUIRE_SUCCESFUL; } -void UnifiedSharing::releaseResource(MemObj *memObject) { +void UnifiedSharing::releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) { } GraphicsAllocation *UnifiedSharing::createGraphicsAllocation(Context *context, UnifiedSharingMemoryDescription description, GraphicsAllocation::AllocationType allocationType) { diff --git a/opencl/source/sharings/unified/unified_sharing.h b/opencl/source/sharings/unified/unified_sharing.h index 80a3d37fd2..9b1d9888f6 100644 --- a/opencl/source/sharings/unified/unified_sharing.h +++ b/opencl/source/sharings/unified/unified_sharing.h @@ -38,7 +38,7 @@ class UnifiedSharing : public SharingHandler { protected: void synchronizeObject(UpdateData &updateData) override; - void releaseResource(MemObj *memObject) override; + void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) override; static GraphicsAllocation *createGraphicsAllocation(Context *context, UnifiedSharingMemoryDescription description, GraphicsAllocation::AllocationType allocationType); diff --git a/opencl/test/unit_test/command_queue/command_queue_tests.cpp b/opencl/test/unit_test/command_queue/command_queue_tests.cpp index ad94ca8f96..743c017e43 100644 --- a/opencl/test/unit_test/command_queue/command_queue_tests.cpp +++ b/opencl/test/unit_test/command_queue/command_queue_tests.cpp @@ -866,7 +866,7 @@ class MockSharingHandler : public SharingHandler { TEST(CommandQueue, givenEnqueuesForSharedObjectsWithImageWhenUsingSharingHandlerThenReturnSuccess) { MockContext context; - MockCommandQueue cmdQ(&context, nullptr, 0); + MockCommandQueue cmdQ(&context, context.getDevice(0), 0); MockSharingHandler *mockSharingHandler = new MockSharingHandler; auto image = std::unique_ptr(ImageHelper::create(&context)); diff --git a/opencl/test/unit_test/d3d_sharing/d3d9_tests.cpp b/opencl/test/unit_test/d3d_sharing/d3d9_tests.cpp index 8f9823575b..54b92f5bf0 100644 --- a/opencl/test/unit_test/d3d_sharing/d3d9_tests.cpp +++ b/opencl/test/unit_test/d3d_sharing/d3d9_tests.cpp @@ -872,7 +872,7 @@ TEST_F(D3D9Tests, givenResourcesCreatedFromDifferentDevicesWhenAcquireReleaseCal EXPECT_EQ(createdResourceDevice, mockSharingFcns->getDevice()); mockSharingFcns->setDevice(nullptr); // force device change - sharedImg->getSharingHandler()->release(sharedImg.get()); + sharedImg->getSharingHandler()->release(sharedImg.get(), context->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(createdResourceDevice, mockSharingFcns->getDevice()); } diff --git a/opencl/test/unit_test/sharings/gl/windows/gl_reused_buffers_tests.cpp b/opencl/test/unit_test/sharings/gl/windows/gl_reused_buffers_tests.cpp index 93d9650e0b..d93cdcde0e 100644 --- a/opencl/test/unit_test/sharings/gl/windows/gl_reused_buffers_tests.cpp +++ b/opencl/test/unit_test/sharings/gl/windows/gl_reused_buffers_tests.cpp @@ -112,7 +112,7 @@ TEST_F(GlReusedBufferTests, givenGlobalShareHandleChangedWhenAcquiringSharedBuff EXPECT_NE(oldGraphicsAllocation, newGraphicsAllocation); EXPECT_EQ(41, newGraphicsAllocation->peekSharedHandle()); - glBuffer->release(clBuffer.get()); + glBuffer->release(clBuffer.get(), context.getDevice(0)->getRootDeviceIndex()); } TEST_F(GlReusedBufferTests, givenGlobalShareHandleDidNotChangeWhenAcquiringSharedBufferThenDontDynamicallyAllocateBufferInfo) { @@ -137,7 +137,7 @@ TEST_F(GlReusedBufferTests, givenGlobalShareHandleDidNotChangeWhenAcquiringShare glBuffer->acquire(clBuffer.get()); - glBuffer->release(clBuffer.get()); + glBuffer->release(clBuffer.get(), context.getDevice(0)->getRootDeviceIndex()); } TEST_F(GlReusedBufferTests, givenGlobalShareHandleChangedWhenAcquiringSharedBufferThenDynamicallyAllocateBufferInfo) { @@ -163,7 +163,7 @@ TEST_F(GlReusedBufferTests, givenGlobalShareHandleChangedWhenAcquiringSharedBuff dllParam.loadBuffer(bufferInfoOutput); glBuffer->acquire(clBuffer.get()); - glBuffer->release(clBuffer.get()); + glBuffer->release(clBuffer.get(), context.getDevice(0)->getRootDeviceIndex()); } TEST_F(GlReusedBufferTests, givenMultipleBuffersAndGlobalShareHandleChangedWhenAcquiringSharedBufferDeleteOldGfxAllocationFromReuseVector) { @@ -191,8 +191,8 @@ TEST_F(GlReusedBufferTests, givenMultipleBuffersAndGlobalShareHandleChangedWhenA EXPECT_EQ(1, graphicsAllocationsForGlBufferReuse->size()); EXPECT_EQ(newGraphicsAllocation, graphicsAllocationsForGlBufferReuse->at(0).second); - clBuffer1->peekSharingHandler()->release(clBuffer1.get()); - clBuffer2->peekSharingHandler()->release(clBuffer2.get()); + clBuffer1->peekSharingHandler()->release(clBuffer1.get(), context.getDevice(0)->getRootDeviceIndex()); + clBuffer2->peekSharingHandler()->release(clBuffer2.get(), context.getDevice(0)->getRootDeviceIndex()); } TEST_F(GlReusedBufferTests, givenGraphicsAllocationCreationReturnsNullptrWhenAcquiringGlBufferThenReturnOutOfResourcesAndNullifyAllocation) { diff --git a/opencl/test/unit_test/sharings/gl/windows/gl_sharing_tests.cpp b/opencl/test/unit_test/sharings/gl/windows/gl_sharing_tests.cpp index 45a7e785dd..a3e212a4aa 100644 --- a/opencl/test/unit_test/sharings/gl/windows/gl_sharing_tests.cpp +++ b/opencl/test/unit_test/sharings/gl/windows/gl_sharing_tests.cpp @@ -241,8 +241,8 @@ TEST_F(glSharingTests, givenClGLBufferWhenItIsAcquiredTwiceThenAcuqireIsNotCalle EXPECT_EQ(2, mockGlSharing->dllParam->getParam("GLAcquireSharedBufferCalled")); EXPECT_EQ(1, mockGlSharing->dllParam->getParam("GLGetCurrentContextCalled")); - memObject->peekSharingHandler()->release(memObject); - memObject->peekSharingHandler()->release(memObject); + memObject->peekSharingHandler()->release(memObject, context.getDevice(0)->getRootDeviceIndex()); + memObject->peekSharingHandler()->release(memObject, context.getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(1, mockGlSharing->dllParam->getParam("GLGetCurrentContextCalled")); retVal = clReleaseMemObject(glBuffer); @@ -278,7 +278,7 @@ TEST_F(glSharingTests, givenClGLBufferWhenItIsAcquiredTwiceAfterReleaseThenAcuqi EXPECT_EQ(2, mockGlSharing->dllParam->getParam("GLAcquireSharedBufferCalled")); EXPECT_EQ(1, mockGlSharing->dllParam->getParam("GLGetCurrentContextCalled")); - memObject->peekSharingHandler()->release(memObject); + memObject->peekSharingHandler()->release(memObject, context.getDevice(0)->getRootDeviceIndex()); memObject->peekSharingHandler()->acquire(memObject); EXPECT_EQ(3, mockGlSharing->dllParam->getParam("GLAcquireSharedBufferCalled")); @@ -295,10 +295,10 @@ TEST_F(glSharingTests, givenClGLBufferWhenItIsAcquireCountIsDecrementedToZeroThe sharingHandler->acquire(buffer.get()); sharingHandler->acquire(buffer.get()); - sharingHandler->release(buffer.get()); + sharingHandler->release(buffer.get(), context.getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(0, mockGlSharing->dllParam->getParam("GLReleaseSharedBufferCalled")); - sharingHandler->release(buffer.get()); + sharingHandler->release(buffer.get(), context.getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(1, mockGlSharing->dllParam->getParam("GLReleaseSharedBufferCalled")); EXPECT_EQ(bufferId, mockGlSharing->dllParam->getBufferInfo().bufferName); } diff --git a/opencl/test/unit_test/sharings/gl/windows/gl_texture_tests.cpp b/opencl/test/unit_test/sharings/gl/windows/gl_texture_tests.cpp index 543f6353c2..c3bbd67316 100644 --- a/opencl/test/unit_test/sharings/gl/windows/gl_texture_tests.cpp +++ b/opencl/test/unit_test/sharings/gl/windows/gl_texture_tests.cpp @@ -445,10 +445,10 @@ TEST_F(GlSharingTextureTests, givenSharedGlTextureWhenItIsAcquireCountIsDecremen sharingHandler->acquire(image.get()); sharingHandler->acquire(image.get()); - sharingHandler->release(image.get()); + sharingHandler->release(image.get(), clContext->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(0, glSharing->dllParam->getParam("GLReleaseSharedTextureCalled")); - sharingHandler->release(image.get()); + sharingHandler->release(image.get(), clContext->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(1, glSharing->dllParam->getParam("GLReleaseSharedTextureCalled")); EXPECT_EQ(0, glSharing->dllParam->getParam("GLReleaseSharedRenderBufferCalled")); EXPECT_EQ(textureId, glSharing->dllParam->getTextureInfo().name); @@ -461,10 +461,10 @@ TEST_F(GlSharingTextureTests, givenSharedRenderBufferWhenItIsAcquireCountIsDecre sharingHandler->acquire(image.get()); sharingHandler->acquire(image.get()); - sharingHandler->release(image.get()); + sharingHandler->release(image.get(), clContext->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(0, glSharing->dllParam->getParam("GLReleaseSharedRenderBufferCalled")); - sharingHandler->release(image.get()); + sharingHandler->release(image.get(), clContext->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(1, glSharing->dllParam->getParam("GLReleaseSharedRenderBufferCalled")); EXPECT_EQ(0, glSharing->dllParam->getParam("GLReleaseSharedTextureCalled")); EXPECT_EQ(textureId, glSharing->dllParam->getTextureInfo().name); diff --git a/opencl/test/unit_test/sharings/sharing_tests.cpp b/opencl/test/unit_test/sharings/sharing_tests.cpp index fa7f7d378c..64353dd6f4 100644 --- a/opencl/test/unit_test/sharings/sharing_tests.cpp +++ b/opencl/test/unit_test/sharings/sharing_tests.cpp @@ -41,21 +41,18 @@ TEST(sharingHandler, givenMemObjWhenAcquireIncrementCounterThenReleaseShouldDecr sizeof(buffer), buffer, buffer, mockAllocation, true, false, false)); struct MockSharingHandler : SharingHandler { - unsigned int acquire(MemObj *memObj) { - SharingHandler::acquire(memObj); - return acquireCount; - } - unsigned int release(MemObj *memObj) { - SharingHandler::release(memObj); - return acquireCount; - } + using SharingHandler::acquireCount; + void synchronizeObject(UpdateData &updateData) override { updateData.synchronizationStatus = ACQUIRE_SUCCESFUL; } } sharingHandler; - EXPECT_EQ(sharingHandler.acquire(memObj.get()), 1u); - EXPECT_EQ(sharingHandler.release(memObj.get()), 0u); + EXPECT_EQ(0u, sharingHandler.acquireCount); + sharingHandler.acquire(memObj.get()); + EXPECT_EQ(1u, sharingHandler.acquireCount); + sharingHandler.release(memObj.get(), mockAllocation->getRootDeviceIndex()); + EXPECT_EQ(0u, sharingHandler.acquireCount); } TEST(sharingHandler, givenMemObjWhenAcquireTwoTimesThenReleaseShouldBeCalledTwoTimesToReleaseObject) { @@ -66,31 +63,27 @@ TEST(sharingHandler, givenMemObjWhenAcquireTwoTimesThenReleaseShouldBeCalledTwoT sizeof(buffer), buffer, buffer, mockAllocation, true, false, false)); struct MockSharingHandler : SharingHandler { - MockSharingHandler() { - releaseCount = 0; - } - unsigned int acquire(MemObj *memObj) { - SharingHandler::acquire(memObj); - return acquireCount; - } - unsigned int release(MemObj *memObj) { - SharingHandler::release(memObj); - return acquireCount; - } + using SharingHandler::acquireCount; void synchronizeObject(UpdateData &updateData) override { updateData.synchronizationStatus = ACQUIRE_SUCCESFUL; } - void releaseResource(MemObj *memObject) override { + void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) override { releaseCount++; }; - int releaseCount; + int releaseCount = 0; } sharingHandler; - EXPECT_EQ(sharingHandler.acquire(memObj.get()), 1u); - EXPECT_EQ(sharingHandler.acquire(memObj.get()), 2u); - EXPECT_EQ(sharingHandler.release(memObj.get()), 1u); - EXPECT_EQ(sharingHandler.release(memObj.get()), 0u); - EXPECT_EQ(sharingHandler.releaseCount, 1); + EXPECT_EQ(0u, sharingHandler.acquireCount); + sharingHandler.acquire(memObj.get()); + EXPECT_EQ(1u, sharingHandler.acquireCount); + sharingHandler.acquire(memObj.get()); + EXPECT_EQ(2u, sharingHandler.acquireCount); + sharingHandler.release(memObj.get(), mockAllocation->getRootDeviceIndex()); + EXPECT_EQ(1u, sharingHandler.acquireCount); + EXPECT_EQ(0, sharingHandler.releaseCount); + sharingHandler.release(memObj.get(), mockAllocation->getRootDeviceIndex()); + EXPECT_EQ(0u, sharingHandler.acquireCount); + EXPECT_EQ(1, sharingHandler.releaseCount); } TEST(sharingHandler, givenSharingHandlerWhenValidateUpdateDataIsCalledWithNonNullInputThenAbortIsNotCalled) { diff --git a/opencl/test/unit_test/sharings/unified/unified_sharing_buffer_tests.cpp b/opencl/test/unit_test/sharings/unified/unified_sharing_buffer_tests.cpp index 4829340a2d..ba4c932c68 100644 --- a/opencl/test/unit_test/sharings/unified/unified_sharing_buffer_tests.cpp +++ b/opencl/test/unit_test/sharings/unified/unified_sharing_buffer_tests.cpp @@ -35,10 +35,10 @@ TEST_F(UnifiedSharingBufferTestsWithMemoryManager, givenUnifiedBufferThenItCanBe ASSERT_EQ(CL_SUCCESS, sharingHandler->acquire(buffer.get())); EXPECT_EQ(2u, sharingHandler->acquireCount); - sharingHandler->release(buffer.get()); + sharingHandler->release(buffer.get(), context->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(1u, sharingHandler->acquireCount); - sharingHandler->release(buffer.get()); + sharingHandler->release(buffer.get(), context->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(0u, sharingHandler->acquireCount); } diff --git a/opencl/test/unit_test/sharings/unified/unified_sharing_tests.cpp b/opencl/test/unit_test/sharings/unified/unified_sharing_tests.cpp index 22f420b997..b2559ef4ce 100644 --- a/opencl/test/unit_test/sharings/unified/unified_sharing_tests.cpp +++ b/opencl/test/unit_test/sharings/unified/unified_sharing_tests.cpp @@ -132,8 +132,8 @@ TEST_F(UnifiedSharingTestsWithMemoryManager, givenUnifiedSharingHandlerWhenAcqui UnifiedSharing::synchronizeObject(updateData); synchronizeObjectCalled++; } - void releaseResource(MemObj *memObject) override { - UnifiedSharing::releaseResource(memObject); + void releaseResource(MemObj *memObject, uint32_t rootDeviceIndex) override { + UnifiedSharing::releaseResource(memObject, rootDeviceIndex); releaseResourceCalled++; }; }; @@ -159,9 +159,9 @@ TEST_F(UnifiedSharingTestsWithMemoryManager, givenUnifiedSharingHandlerWhenAcqui EXPECT_EQ(1u, sharingHandler->synchronizeObjectCalled); ASSERT_EQ(0u, sharingHandler->releaseResourceCalled); - sharingHandler->release(buffer.get()); + sharingHandler->release(buffer.get(), context->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(0u, sharingHandler->releaseResourceCalled); - sharingHandler->release(buffer.get()); + sharingHandler->release(buffer.get(), context->getDevice(0)->getRootDeviceIndex()); EXPECT_EQ(1u, sharingHandler->releaseResourceCalled); }