summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorZhipeng Gong <zhipeng.gong@intel.com>2015-01-13 08:50:20 +0800
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-01-22 09:27:52 +0100
commitf8d47cb70dae434571c6fe5ae39a0fc4909ba7fa (patch)
tree06b364d6f7a07563a31f7a8dfebe021300a2d2b4 /tests
parent17937a0114b29a273152c4c2df72c5b1a992b07c (diff)
tests/gem_exec_params: check the invalid flags for dual bsd ring
v2: add more tests to address Daniel's comments(Zhipeng) Signed-off-by: Zhipeng Gong <zhipeng.gong@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests')
-rw-r--r--tests/gem_exec_params.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/gem_exec_params.c b/tests/gem_exec_params.c
index f63eda91..54f0dc33 100644
--- a/tests/gem_exec_params.c
+++ b/tests/gem_exec_params.c
@@ -45,6 +45,9 @@
#include "igt_aux.h"
#define LOCAL_I915_EXEC_VEBOX (4<<0)
+#define LOCAL_I915_EXEC_BSD_MASK (3<<13)
+#define LOCAL_I915_EXEC_BSD_RING1 (1<<13)
+#define LOCAL_I915_EXEC_BSD_RING2 (2<<13)
struct drm_i915_gem_execbuffer2 execbuf;
struct drm_i915_gem_exec_object2 gem_exec[1];
@@ -126,6 +129,44 @@ igt_main
RUN_FAIL(EINVAL);
}
+ igt_subtest("invalid-bsd-ring") {
+ igt_require(gem_has_bsd2(fd));
+ execbuf.flags = I915_EXEC_BSD | LOCAL_I915_EXEC_BSD_MASK;
+ RUN_FAIL(EINVAL);
+ }
+
+ igt_subtest("invalid-bsd1-flag-on-render") {
+ execbuf.flags = I915_EXEC_RENDER | LOCAL_I915_EXEC_BSD_RING1;
+ RUN_FAIL(EINVAL);
+ }
+
+ igt_subtest("invalid-bsd2-flag-on-render") {
+ execbuf.flags = I915_EXEC_RENDER | LOCAL_I915_EXEC_BSD_RING2;
+ RUN_FAIL(EINVAL);
+ }
+
+ igt_subtest("invalid-bsd1-flag-on-blt") {
+ execbuf.flags = I915_EXEC_BLT | LOCAL_I915_EXEC_BSD_RING1;
+ RUN_FAIL(EINVAL);
+ }
+
+ igt_subtest("invalid-bsd2-flag-on-blt") {
+ execbuf.flags = I915_EXEC_BLT | LOCAL_I915_EXEC_BSD_RING2;
+ RUN_FAIL(EINVAL);
+ }
+
+ igt_subtest("invalid-bsd1-flag-on-vebox") {
+ igt_require(gem_has_vebox(fd));
+ execbuf.flags = LOCAL_I915_EXEC_VEBOX | LOCAL_I915_EXEC_BSD_RING1;
+ RUN_FAIL(EINVAL);
+ }
+
+ igt_subtest("invalid-bsd2-flag-on-vebox") {
+ igt_require(gem_has_vebox(fd));
+ execbuf.flags = LOCAL_I915_EXEC_VEBOX | LOCAL_I915_EXEC_BSD_RING2;
+ RUN_FAIL(EINVAL);
+ }
+
igt_subtest("rel-constants-invalid-ring") {
igt_require(gem_has_bsd(fd));
execbuf.flags = I915_EXEC_BSD | I915_EXEC_CONSTANTS_ABSOLUTE;