diff --git a/level_zero/core/source/fence/fence.cpp b/level_zero/core/source/fence/fence.cpp index c3705f1882..bd7bf8cf2b 100644 --- a/level_zero/core/source/fence/fence.cpp +++ b/level_zero/core/source/fence/fence.cpp @@ -40,7 +40,7 @@ ze_result_t FenceImp::queryStatus() { return *hostAddr == Fence::STATE_CLEARED ? ZE_RESULT_NOT_READY : ZE_RESULT_SUCCESS; } -bool FenceImp::initialize() { +void FenceImp::initialize() { NEO::AllocationProperties properties( cmdQueue->getDevice()->getRootDeviceIndex(), MemoryConstants::cacheLineSize, NEO::GraphicsAllocation::AllocationType::BUFFER_HOST_MEMORY, cmdQueue->getDevice()->getNEODevice()->getDeviceBitfield()); properties.alignment = MemoryConstants::cacheLineSize; @@ -48,8 +48,6 @@ bool FenceImp::initialize() { UNRECOVERABLE_IF(allocation == nullptr); reset(); - - return true; } ze_result_t FenceImp::reset() { diff --git a/level_zero/core/source/fence/fence.h b/level_zero/core/source/fence/fence.h index 88bf4e39e9..9bb51949a5 100644 --- a/level_zero/core/source/fence/fence.h +++ b/level_zero/core/source/fence/fence.h @@ -40,7 +40,7 @@ struct Fence : _ze_fence_handle_t { enum EnqueueState : uint32_t { ENQUEUE_NOT_READY = 0u, ENQUEUE_READY }; - NEO::GraphicsAllocation &getAllocation() { return *allocation; } + NEO::GraphicsAllocation &getAllocation() const { return *allocation; } uint64_t getGpuAddress() { UNRECOVERABLE_IF(allocation == nullptr); @@ -67,11 +67,7 @@ struct FenceImp : public Fence { ze_result_t reset() override; - static Fence *fromHandle(ze_fence_handle_t handle) { return static_cast(handle); } - - inline ze_fence_handle_t toHandle() { return this; } - - bool initialize(); + void initialize(); protected: CommandQueueImp *cmdQueue; diff --git a/level_zero/core/test/unit_tests/sources/fence/test_fence.cpp b/level_zero/core/test/unit_tests/sources/fence/test_fence.cpp index eba2ffc62e..263e15e458 100644 --- a/level_zero/core/test/unit_tests/sources/fence/test_fence.cpp +++ b/level_zero/core/test/unit_tests/sources/fence/test_fence.cpp @@ -21,14 +21,22 @@ TEST_F(FenceTest, whenQueryingStatusThenCsrAllocationsAreDownloaded) { auto csr = std::make_unique(*neoDevice->getExecutionEnvironment(), 0); Mock cmdQueue(device, csr.get()); - std::unique_ptr fence = std::make_unique(&cmdQueue); + auto fence = Fence::create(&cmdQueue, nullptr); + + EXPECT_NE(nullptr, fence); + + auto &graphicsAllocation = fence->getAllocation(); + + EXPECT_EQ(neoDevice->getRootDeviceIndex(), graphicsAllocation.getRootDeviceIndex()); - bool result = fence->initialize(); - ASSERT_TRUE(result); EXPECT_FALSE(csr->downloadAllocationsCalled); - fence->queryStatus(); + auto status = fence->queryStatus(); + EXPECT_EQ(ZE_RESULT_NOT_READY, status); EXPECT_TRUE(csr->downloadAllocationsCalled); + + status = fence->destroy(); + EXPECT_EQ(ZE_RESULT_SUCCESS, status); } } // namespace ult