mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
refactor: Add ioctl helper for context destruction
Related-To: NEO-11817 Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
be27367020
commit
7e7e0a000f
@@ -121,4 +121,8 @@ BufferObject *IoctlHelper::allocUserptr(DrmMemoryManager &memoryManager, const A
|
||||
return memoryManager.allocUserptr(address, size, allocData.type, rootDeviceIndex);
|
||||
}
|
||||
|
||||
void IoctlHelper::destroyDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmContextId) {
|
||||
drm.destroyDrmContext(drmContextId);
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -169,6 +169,7 @@ class IoctlHelper {
|
||||
|
||||
virtual bool checkIfIoctlReinvokeRequired(int error, DrmIoctl ioctlRequest) const;
|
||||
virtual int createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmVmId, uint32_t deviceIndex, bool allocateInterrupt) = 0;
|
||||
virtual void destroyDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmContextId);
|
||||
virtual bool createMediaContext(uint32_t vmId, void *controlSharedMemoryBuffer, uint32_t controlSharedMemoryBufferSize, void *controlBatchBuffer, uint32_t controlBatchBufferSize, void *&outDoorbell) { return false; }
|
||||
virtual bool releaseMediaContext(void *doorbellHandle) { return false; }
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ uint64_t OsContextLinux::getOfflineDumpContextId(uint32_t deviceIndex) const {
|
||||
OsContextLinux::~OsContextLinux() {
|
||||
if (contextInitialized) {
|
||||
for (auto drmContextId : drmContextIds) {
|
||||
drm.destroyDrmContext(drmContextId);
|
||||
drm.getIoctlHelper()->destroyDrmContext(drm, *this, drmContextId);
|
||||
}
|
||||
}
|
||||
drmContextIds.clear();
|
||||
|
||||
Reference in New Issue
Block a user