mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2026-08-11 16:32:58 +00:00
lib: Share common __gem_execbuf()
An oft-repeated function to check EXECBUFFER2 for a particular fail condition. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
+17
-4
@@ -502,6 +502,22 @@ uint32_t gem_create(int fd, uint64_t size)
|
||||
return create.handle;
|
||||
}
|
||||
|
||||
/**
|
||||
* __gem_execbuf:
|
||||
* @fd: open i915 drm file descriptor
|
||||
* @execbuf: execbuffer data structure
|
||||
*
|
||||
* This wraps the EXECBUFFER2 ioctl, which submits a batchbuffer for the gpu to
|
||||
* run. This is allowed to fail, with -errno returned.
|
||||
*/
|
||||
int __gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
|
||||
{
|
||||
int err = 0;
|
||||
if (drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf))
|
||||
err = -errno;
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
* gem_execbuf:
|
||||
* @fd: open i915 drm file descriptor
|
||||
@@ -512,10 +528,7 @@ uint32_t gem_create(int fd, uint64_t size)
|
||||
*/
|
||||
void gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf);
|
||||
igt_assert(result == 0);
|
||||
igt_assert_eq(__gem_execbuf(fd, execbuf), 0);
|
||||
errno = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ uint32_t gem_create_stolen(int fd, uint64_t size);
|
||||
uint32_t __gem_create(int fd, int size);
|
||||
uint32_t gem_create(int fd, uint64_t size);
|
||||
void gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf);
|
||||
int __gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf);
|
||||
|
||||
void *gem_mmap__gtt(int fd, uint32_t handle, uint64_t size, unsigned prot);
|
||||
void *gem_mmap__cpu(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot);
|
||||
|
||||
Reference in New Issue
Block a user