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>
This commit is contained in:
Zhipeng Gong 2015-01-13 08:50:20 +08:00 committed by Daniel Vetter
parent 17937a0114
commit f8d47cb70d

View File

@ -45,6 +45,9 @@
#include "igt_aux.h" #include "igt_aux.h"
#define LOCAL_I915_EXEC_VEBOX (4<<0) #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_execbuffer2 execbuf;
struct drm_i915_gem_exec_object2 gem_exec[1]; struct drm_i915_gem_exec_object2 gem_exec[1];
@ -126,6 +129,44 @@ igt_main
RUN_FAIL(EINVAL); 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_subtest("rel-constants-invalid-ring") {
igt_require(gem_has_bsd(fd)); igt_require(gem_has_bsd(fd));
execbuf.flags = I915_EXEC_BSD | I915_EXEC_CONSTANTS_ABSOLUTE; execbuf.flags = I915_EXEC_BSD | I915_EXEC_CONSTANTS_ABSOLUTE;