diff --git a/shared/source/os_interface/linux/drm_wrappers.h b/shared/source/os_interface/linux/drm_wrappers.h index 823c791c6b..76432dd285 100644 --- a/shared/source/os_interface/linux/drm_wrappers.h +++ b/shared/source/os_interface/linux/drm_wrappers.h @@ -242,6 +242,9 @@ enum class DrmIoctl { GemClosReserve, GemClosFree, GemCacheReserve, + SyncobjCreate, + SyncobjWait, + SyncobjDestroy, }; enum class DrmParam { diff --git a/shared/source/os_interface/linux/ioctl_helper.h b/shared/source/os_interface/linux/ioctl_helper.h index cccef35546..b90066e640 100644 --- a/shared/source/os_interface/linux/ioctl_helper.h +++ b/shared/source/os_interface/linux/ioctl_helper.h @@ -66,7 +66,7 @@ class IoctlHelper { IoctlHelper(Drm &drmArg) : drm(drmArg){}; virtual ~IoctlHelper() {} static std::unique_ptr get(const PRODUCT_FAMILY productFamily, const std::string &prelimVersion, const std::string &drmVersion, Drm &drm); - uint32_t ioctl(DrmIoctl request, void *arg); + virtual uint32_t ioctl(DrmIoctl request, void *arg); virtual bool isVmBindAvailable() = 0; virtual uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional vmId) = 0; @@ -114,7 +114,7 @@ class IoctlHelper { virtual std::vector translateToMemoryRegions(const std::vector ®ionInfo); - uint32_t createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmVmId, uint32_t deviceIndex); + virtual uint32_t createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmVmId, uint32_t deviceIndex); std::vector translateToEngineCaps(const std::vector &data); void fillExecObject(ExecObject &execObject, uint32_t handle, uint64_t gpuAddress, uint32_t drmContextId, bool bindInfo, bool isMarkedForCapture); @@ -122,7 +122,7 @@ class IoctlHelper { void fillExecBuffer(ExecBuffer &execBuffer, uintptr_t buffersPtr, uint32_t bufferCount, uint32_t startOffset, uint32_t size, uint64_t flags, uint32_t drmContextId); void logExecBuffer(const ExecBuffer &execBuffer, std::stringstream &logger); - int getDrmParamValueBase(DrmParam drmParam) const; + virtual int getDrmParamValueBase(DrmParam drmParam) const; unsigned int getIoctlRequestValueBase(DrmIoctl ioctlRequest) const; bool setDomainCpu(uint32_t handle, bool writeEnable);