fix: propagate error createInternalHandle wddm

Unify with linux implementation, return -1 on error and 0 on success.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
Dominik Dabek 2025-05-15 12:22:11 +00:00 committed by Compute-Runtime-Automation
parent 10ed5fd804
commit eeddd779f0
5 changed files with 9 additions and 9 deletions

View File

@ -770,7 +770,7 @@ ze_result_t ContextImp::getIpcMemHandlesImpl(const void *ptr,
for (uint32_t i = 0u; i < loopCount; i++) { for (uint32_t i = 0u; i < loopCount; i++) {
uint64_t handle = 0; uint64_t handle = 0;
int ret = alloc->createInternalHandle(memoryManager, i, handle); int ret = alloc->createInternalHandle(memoryManager, i, handle);
if (ret < 0) { if (ret != 0) {
return ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY; return ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY;
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2023 Intel Corporation * Copyright (C) 2023-2025 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@ -16,12 +16,12 @@ int WddmAllocation::createInternalHandle(MemoryManager *memoryManager, uint32_t
WddmMemoryManager *wddmMemoryManager = reinterpret_cast<WddmMemoryManager *>(memoryManager); WddmMemoryManager *wddmMemoryManager = reinterpret_cast<WddmMemoryManager *>(memoryManager);
auto status = wddmMemoryManager->createInternalNTHandle(&resourceHandle, &ntSharedHandle, this->getRootDeviceIndex()); auto status = wddmMemoryManager->createInternalNTHandle(&resourceHandle, &ntSharedHandle, this->getRootDeviceIndex());
if (status != STATUS_SUCCESS) { if (status != STATUS_SUCCESS) {
return handle == 0; return -1;
} }
ntSecureHandle = castToUint64(ntSharedHandle); ntSecureHandle = castToUint64(ntSharedHandle);
handle = ntSecureHandle; handle = ntSecureHandle;
} }
return handle == 0; return handle == 0 ? -1 : 0;
} }
void WddmAllocation::clearInternalHandle(uint32_t handleId) { void WddmAllocation::clearInternalHandle(uint32_t handleId) {
ntSecureHandle = 0u; ntSecureHandle = 0u;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018-2024 Intel Corporation * Copyright (C) 2018-2025 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@ -247,7 +247,7 @@ TEST(GraphicsAllocationTest, givenDefaultGraphicsAllocationWhenInternalHandleIsB
TEST(GraphicsAllocationTest, givenDefaultGraphicsAllocationWhenInternalHandleIsBeingObtainedOrCreatedThenZeroIsReturned) { TEST(GraphicsAllocationTest, givenDefaultGraphicsAllocationWhenInternalHandleIsBeingObtainedOrCreatedThenZeroIsReturned) {
MockGraphicsAllocation graphicsAllocation; MockGraphicsAllocation graphicsAllocation;
uint64_t handle = 0; uint64_t handle = 0;
graphicsAllocation.createInternalHandle(nullptr, 0u, handle); EXPECT_EQ(0, graphicsAllocation.createInternalHandle(nullptr, 0u, handle));
EXPECT_EQ(0ull, handle); EXPECT_EQ(0ull, handle);
graphicsAllocation.clearInternalHandle(0u); graphicsAllocation.clearInternalHandle(0u);
} }

View File

@ -734,7 +734,7 @@ TEST_F(WddmLinuxTest, givenAllocatedMemoryAndCloseInternalHandleWithoutAllocatio
memoryManager.freeGraphicsMemoryImpl(alloc); memoryManager.freeGraphicsMemoryImpl(alloc);
} }
TEST_F(WddmLinuxTest, givenAllocatedMemoryAndCreateInternalHandleFailedThenEmpyHandleReturned) { TEST_F(WddmLinuxTest, givenAllocatedMemoryAndCreateInternalHandleFailedThenEmptyHandleReturned) {
osEnvironment->gdi->reserveGpuVirtualAddress = reserveDeviceAddressSpaceMock; osEnvironment->gdi->reserveGpuVirtualAddress = reserveDeviceAddressSpaceMock;
osEnvironment->gdi->createAllocation2 = createAllocation2Mock; osEnvironment->gdi->createAllocation2 = createAllocation2Mock;
osEnvironment->gdi->mapGpuVirtualAddress = mapGpuVirtualAddressMock; osEnvironment->gdi->mapGpuVirtualAddress = mapGpuVirtualAddressMock;
@ -756,7 +756,7 @@ TEST_F(WddmLinuxTest, givenAllocatedMemoryAndCreateInternalHandleFailedThenEmpyH
memoryManager.closeInternalHandle(handle, 0u, alloc); memoryManager.closeInternalHandle(handle, 0u, alloc);
memoryManager.failCreateInternalNTHandle = true; memoryManager.failCreateInternalNTHandle = true;
EXPECT_EQ(1, alloc->createInternalHandle(&memoryManager, 0u, handle)); EXPECT_EQ(-1, alloc->createInternalHandle(&memoryManager, 0u, handle));
memoryManager.freeGraphicsMemoryImpl(alloc); memoryManager.freeGraphicsMemoryImpl(alloc);
} }

View File

@ -397,7 +397,7 @@ TEST_F(WddmMemoryManagerAllocPathTests, GivenValidAllocationWithFailingCreateInt
memoryManager->closeInternalHandle(handle, 0u, graphicsAllocation); memoryManager->closeInternalHandle(handle, 0u, graphicsAllocation);
memoryManager->failCreateInternalNTHandle = true; memoryManager->failCreateInternalNTHandle = true;
EXPECT_EQ(1, graphicsAllocation->createInternalHandle(memoryManager, 0u, handle)); EXPECT_EQ(-1, graphicsAllocation->createInternalHandle(memoryManager, 0u, handle));
memoryManager->freeGraphicsMemory(graphicsAllocation); memoryManager->freeGraphicsMemory(graphicsAllocation);
} }