mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Call ioctl to obtain file handle from prime bo
Related-To: NEO-3252 Change-Id: I8d976ae29875db83dd75802e0309cb4438d1332b Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
This commit is contained in:
@@ -80,6 +80,7 @@ class DrmMockCustom : public Drm {
|
||||
gemSetTiling = 0;
|
||||
gemGetTiling = 0;
|
||||
primeFdToHandle = 0;
|
||||
handleToPrimeFd = 0;
|
||||
gemMmap = 0;
|
||||
gemSetDomain = 0;
|
||||
gemWait = 0;
|
||||
@@ -97,6 +98,7 @@ class DrmMockCustom : public Drm {
|
||||
std::atomic<int32_t> gemSetTiling;
|
||||
std::atomic<int32_t> gemGetTiling;
|
||||
std::atomic<int32_t> primeFdToHandle;
|
||||
std::atomic<int32_t> handleToPrimeFd;
|
||||
std::atomic<int32_t> gemMmap;
|
||||
std::atomic<int32_t> gemSetDomain;
|
||||
std::atomic<int32_t> gemWait;
|
||||
@@ -126,6 +128,7 @@ class DrmMockCustom : public Drm {
|
||||
NEO_IOCTL_EXPECT_EQ(gemSetTiling);
|
||||
NEO_IOCTL_EXPECT_EQ(gemGetTiling);
|
||||
NEO_IOCTL_EXPECT_EQ(primeFdToHandle);
|
||||
NEO_IOCTL_EXPECT_EQ(handleToPrimeFd);
|
||||
NEO_IOCTL_EXPECT_EQ(gemMmap);
|
||||
NEO_IOCTL_EXPECT_EQ(gemSetDomain);
|
||||
NEO_IOCTL_EXPECT_EQ(gemWait);
|
||||
@@ -153,6 +156,10 @@ class DrmMockCustom : public Drm {
|
||||
//DRM_IOCTL_PRIME_FD_TO_HANDLE
|
||||
__u32 outputHandle = 0;
|
||||
__s32 inputFd = 0;
|
||||
//DRM_IOCTL_PRIME_HANDLE_TO_FD
|
||||
__u32 inputHandle = 0;
|
||||
__s32 outputFd = 0;
|
||||
__s32 inputFlags = 0;
|
||||
//DRM_IOCTL_I915_GEM_USERPTR
|
||||
__u32 returnHandle = 0;
|
||||
//DRM_IOCTL_I915_GEM_MMAP
|
||||
@@ -216,6 +223,14 @@ class DrmMockCustom : public Drm {
|
||||
inputFd = primeToHandleParams->fd;
|
||||
ioctl_cnt.primeFdToHandle++;
|
||||
} break;
|
||||
case DRM_IOCTL_PRIME_HANDLE_TO_FD: {
|
||||
auto *handleToPrimeParams = (drm_prime_handle *)arg;
|
||||
//return FD
|
||||
inputHandle = handleToPrimeParams->handle;
|
||||
inputFlags = handleToPrimeParams->flags;
|
||||
handleToPrimeParams->fd = outputFd;
|
||||
ioctl_cnt.handleToPrimeFd++;
|
||||
} break;
|
||||
case DRM_IOCTL_I915_GEM_MMAP: {
|
||||
auto mmapParams = (drm_i915_gem_mmap *)arg;
|
||||
mmapHandle = mmapParams->handle;
|
||||
|
||||
Reference in New Issue
Block a user