#include "xf86drm.h"
#include "xf86drmMode.h"
#include "intel_bufmgr.h"
+#include "i915_drm.h"
#ifdef HAVE_CAIRO
#include <math.h>
#define dump_resource(res) if (res) dump_##res()
+static int page_flipping_supported(int fd)
+{
+ int ret, value;
+ struct drm_i915_getparam gp;
+
+ gp.param = I915_PARAM_HAS_PAGEFLIPPING;
+ gp.value = &value;
+
+ ret = drmCommandWriteRead(fd, DRM_I915_GETPARAM, &gp, sizeof(gp));
+ if (ret) {
+ fprintf(stderr, "drm_i915_getparam: %m\n");
+ return 0;
+ }
+
+ return gp.value;
+}
+
int main(int argc, char **argv)
{
int c;
}
}
+ if (test_vsync && !page_flipping_supported(fd)) {
+ fprintf(stderr, "page flipping not supported by drm.\n");
+ return -1;
+ }
+
if (i == ARRAY_SIZE(modules)) {
fprintf(stderr, "failed to load any modules, aborting.\n");
return -1;