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
- Updated getfd and get IPC Handle helper functions to support opaque or
previous versions

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-16 01:44:40 +00:00
committed by Compute-Runtime-Automation
parent c0ea89062b
commit 43ebc17e17
54 changed files with 1932 additions and 132 deletions

View File

@@ -29,5 +29,10 @@ int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, O
return 0;
}
template <>
bool ProductHelperHw<gfxProduct>::canShareMemoryWithoutNTHandle() const {
return false;
}
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -22,5 +22,10 @@ void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo
coherencyFlag = false;
}
template <>
bool ProductHelperHw<gfxProduct>::canShareMemoryWithoutNTHandle() const {
return false;
}
template class ProductHelperHw<gfxProduct>;
} // namespace NEO