[PATCH i-g-t] igt: Add LOCAL defines for distro compatibility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux