diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/drmtest.c | 14 | ||||
| -rw-r--r-- | lib/drmtest.h | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c index 0f021902..f9b7a6f0 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -57,6 +57,20 @@ is_intel(int fd) return IS_INTEL(devid); } +bool gem_uses_aliasing_ppgtt(int fd) +{ + struct drm_i915_getparam gp; + int val; + + gp.param = 18; /* HAS_ALIASING_PPGTT */ + gp.value = &val; + + if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp))) + return 0; + + return val; +} + /* Ensure the gpu is idle by launching a nop execbuf and stalling for it. */ void gem_quiescent_gpu(int fd) { diff --git a/lib/drmtest.h b/lib/drmtest.h index 9f194448..96fbf1ac 100644 --- a/lib/drmtest.h +++ b/lib/drmtest.h @@ -30,6 +30,7 @@ #include <unistd.h> #include <assert.h> #include <errno.h> +#include <stdbool.h> #include "xf86drm.h" #include "intel_batchbuffer.h" @@ -53,6 +54,9 @@ uint64_t gem_aperture_size(int fd); uint64_t gem_mappable_aperture_size(void); int gem_madvise(int fd, uint32_t handle, int state); +/* feature test helpers */ +bool gem_uses_aliasing_ppgtt(int fd); + /* generally useful helpers */ void drmtest_fork_signal_helper(void); void drmtest_stop_signal_helper(void); |
