From: Nanley Chery Date: Tue, 9 Jun 2020 23:27:14 +0000 (-0700) Subject: iris: Refactor modifier_is_supported for gen12 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2305ab693820f6f08b054cb8b33536e4b1178e45;p=mesa.git iris: Refactor modifier_is_supported for gen12 Reviewed-by: Sagar Ghuge Reviewed-by: Jordan Justen Reviewed-by: Kenneth Graunke Part-of: --- diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index 5b5c24a37d2..c2f1b2a300e 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -73,7 +73,22 @@ static bool modifier_is_supported(const struct gen_device_info *devinfo, enum pipe_format pfmt, uint64_t modifier) { - /* XXX: do something real */ + /* Check for basic device support. */ + switch (modifier) { + case DRM_FORMAT_MOD_LINEAR: + case I915_FORMAT_MOD_X_TILED: + case I915_FORMAT_MOD_Y_TILED: + break; + case I915_FORMAT_MOD_Y_TILED_CCS: + if (devinfo->gen <= 8 || devinfo->gen >= 12) + return false; + break; + case DRM_FORMAT_MOD_INVALID: + default: + return false; + } + + /* Check remaining requirements. */ switch (modifier) { case I915_FORMAT_MOD_Y_TILED_CCS: { if (unlikely(INTEL_DEBUG & DEBUG_NO_RBC)) @@ -86,17 +101,12 @@ modifier_is_supported(const struct gen_device_info *devinfo, if (rt_format == ISL_FORMAT_UNSUPPORTED || !isl_format_supports_ccs_e(devinfo, rt_format)) return false; - - return devinfo->gen >= 9 && devinfo->gen <= 11; } - case I915_FORMAT_MOD_Y_TILED: - case I915_FORMAT_MOD_X_TILED: - case DRM_FORMAT_MOD_LINEAR: - return true; - case DRM_FORMAT_MOD_INVALID: default: - return false; + break; } + + return true; } static uint64_t