Each Linux distro takes a different spin on providing kernel's uapi headers (especialy the *drm*.h). You can get them with linux-headers, you can get them with libdrm. Sometime you can even get them twice, from both sources. Sometimes the headers match your kernel version, sometimes you end up stuck with headers matching the kernel that the given release of the distro came out with. This makes things harder for code that does not depend on libdrm, as we cannot have sane ./configure-time checks. So let's define LOCAL_ version for FENCE and EXECBUFFER2_WB defines until all the stable distros catch up (+/- some epsilon). Cc: Petri Latvala <petri.latvala@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@xxxxxxxxx> --- benchmarks/gem_exec_tracer.c | 10 ++++++++-- tools/aubdump.c | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/benchmarks/gem_exec_tracer.c b/benchmarks/gem_exec_tracer.c index d958985..a49c11a 100644 --- a/benchmarks/gem_exec_tracer.c +++ b/benchmarks/gem_exec_tracer.c @@ -138,6 +138,9 @@ fail_if(int cond, const char *format, ...) abort(); } +#define LOCAL_I915_EXEC_FENCE_IN (1<<16) +#define LOCAL_I915_EXEC_FENCE_OUT (1<<17) + static void trace_exec(struct trace *trace, const struct drm_i915_gem_execbuffer2 *execbuffer2) @@ -146,7 +149,7 @@ trace_exec(struct trace *trace, const struct drm_i915_gem_exec_object2 *exec_objects = to_ptr(typeof(*exec_objects), execbuffer2->buffers_ptr); - fail_if(execbuffer2->flags & (I915_EXEC_FENCE_IN | I915_EXEC_FENCE_OUT), + fail_if(execbuffer2->flags & (LOCAL_I915_EXEC_FENCE_IN | LOCAL_I915_EXEC_FENCE_OUT), "fences not supported yet\n"); flockfile(trace->file); @@ -268,6 +271,9 @@ static int is_i915(int fd) return strcmp(name, "i915") == 0; } +#define LOCAL_IOCTL_I915_GEM_EXECBUFFER2_WR \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER2, struct drm_i915_gem_execbuffer2) + int ioctl(int fd, unsigned long request, ...) { @@ -326,7 +332,7 @@ ioctl(int fd, unsigned long request, ...) switch (request) { case DRM_IOCTL_I915_GEM_EXECBUFFER2: - case DRM_IOCTL_I915_GEM_EXECBUFFER2_WR: + case LOCAL_IOCTL_I915_GEM_EXECBUFFER2_WR: trace_exec(t, argp); break; diff --git a/tools/aubdump.c b/tools/aubdump.c index eccea74..610526c 100644 --- a/tools/aubdump.c +++ b/tools/aubdump.c @@ -578,6 +578,9 @@ maybe_init(void) fail_if(bos == NULL, "intel_aubdump: out of memory\n"); } +#define LOCAL_IOCTL_I915_GEM_EXECBUFFER2_WR \ + DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER2, struct drm_i915_gem_execbuffer2) + int ioctl(int fd, unsigned long request, ...) { @@ -633,7 +636,7 @@ ioctl(int fd, unsigned long request, ...) } case DRM_IOCTL_I915_GEM_EXECBUFFER2: - case DRM_IOCTL_I915_GEM_EXECBUFFER2_WR: { + case LOCAL_IOCTL_I915_GEM_EXECBUFFER2_WR: { dump_execbuffer2(fd, argp); if (device_override) return 0; -- 2.9.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx