Ensure passing alignment is not possible by UMD starting on gens4+. Inspected UMD code - Mesa, Compute (NEO), Media-Driver, xf86-intel-video seems to be alignment == 0 ready. Libdrm potentially uses alignment but it is used in some IGTs which remains intact during libdrm removal (there's no possibility to properly rewrite those tests due to specific hw requirement - dual gpus). Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@xxxxxxxxx> Cc: Jason Ekstrand <jason@xxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 9f7c6ecadb90..cc012d6ffa02 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -505,6 +505,14 @@ static bool platform_has_relocs_enabled(const struct i915_execbuffer *eb) return false; } +static bool platform_allows_pass_alignment(const struct i915_execbuffer *eb) +{ + if (GRAPHICS_VER(eb->i915) < 4) + return true; + + return false; +} + static int eb_validate_vma(struct i915_execbuffer *eb, struct drm_i915_gem_exec_object2 *entry, @@ -513,6 +521,9 @@ eb_validate_vma(struct i915_execbuffer *eb, if (entry->relocation_count && !platform_has_relocs_enabled(eb)) return -EINVAL; + if (entry->alignment && !platform_allows_pass_alignment(eb)) + return -EINVAL; + if (unlikely(entry->flags & eb->invalid_flags)) return -EINVAL; -- 2.26.0