@@ -87,6 +87,20 @@ is_intel(int fd)
return IS_INTEL(devid);
}
+bool gem_uses_full_ppgtt(int fd)
+{
+ struct drm_i915_getparam gp;
+ int val;
+
+ gp.param = 28; /* HAS_FULL_PPGTT */
+ gp.value = &val;
+
+ if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp)))
+ return 0;
+
+ return val;
+}
+
bool gem_uses_aliasing_ppgtt(int fd)
{
struct drm_i915_getparam gp;
@@ -91,6 +91,7 @@ void gem_sw_finish(int fd, uint32_t handle);
bool gem_bo_busy(int fd, uint32_t handle);
/* feature test helpers */
+bool gem_uses_full_ppgtt(int fd);
bool gem_uses_aliasing_ppgtt(int fd);
int gem_available_fences(int fd);