feature: Support for opaque IPC handles on Windows and Linux

- Added support for creating and managing opaque IPC NT handles in the
WDDM layer.
- Introduced a new flag `shareableWithoutNTHandle` to indicate if memory
can be shared without an NT handle.
- Updated the `isShareableMemory` method to accommodate this new flag.
- Added debug variable EnableShareableWithoutNTHandle to control the
behavior of sharing memory without NT handles until requested.
- Updated Linux path to enable sharing DMA Buf FDs between processes
for use in pidfd_getfd

Related-To: NEO-15345 , NEO-15346 , NEO-15347, NEO-10380

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
This commit is contained in:
Neil R. Spruit
2025-08-13 19:34:37 +00:00
committed by Compute-Runtime-Automation
parent 274c5043b9
commit 46b1b2783b
45 changed files with 1406 additions and 130 deletions

View File

@@ -28,7 +28,8 @@ struct AllocationProperties {
uint32_t forceSystemMemory : 1;
uint32_t preferCompressed : 1;
uint32_t cantBeReadOnly : 1;
uint32_t reserved : 18;
uint32_t shareableWithoutNTHandle : 1;
uint32_t reserved : 16;
} flags;
uint32_t allFlags = 0;
};
@@ -112,7 +113,8 @@ struct AllocationData {
uint32_t isUSMDeviceMemory : 1;
uint32_t zeroMemory : 1;
uint32_t cantBeReadOnly : 1;
uint32_t reserved : 15;
uint32_t shareableWithoutNTHandle : 1;
uint32_t reserved : 14;
} flags;
uint32_t allFlags = 0;
};