From 7947d05f840cfbb9b162a279d6eccc9416217e68 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sun, 16 Jul 2017 16:54:44 -0700 Subject: [PATCH] i965: Check if the modifier is supported in select_best_modifier Otherwise, if a client gave us a list of modifiers that contained a modifier we understand but which is not supported on the hardware, we might return that one and then fail to create the image. Reviewed-by: Daniel Stone --- src/mesa/drivers/dri/i965/intel_screen.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 0c1a88d36f3..7ccc1d34f0d 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -586,6 +586,9 @@ select_best_modifier(struct gen_device_info *devinfo, enum modifier_priority prio = MODIFIER_PRIORITY_INVALID; for (int i = 0; i < count; i++) { + if (!modifier_is_supported(devinfo, modifiers[i])) + continue; + switch (modifiers[i]) { case I915_FORMAT_MOD_Y_TILED: prio = MAX2(prio, MODIFIER_PRIORITY_Y);