diff options
Diffstat (limited to 'src/gallium/drivers/iris/iris_resource.c')
-rw-r--r-- | src/gallium/drivers/iris/iris_resource.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index 2f6a0c61bf2..cce24b28729 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -563,15 +563,18 @@ iris_resource_create_with_modifiers(struct pipe_screen *pscreen, if (res->mod_info) { res->aux.possible_usages |= 1 << res->mod_info->aux_usage; - } else if (has_depth) { - res->aux.possible_usages |= 1 << ISL_AUX_USAGE_HIZ; - } else if (supports_mcs(&res->surf)) { - res->aux.possible_usages |= 1 << ISL_AUX_USAGE_MCS; - } else if (supports_ccs(devinfo, &res->surf)) { - if (isl_format_supports_ccs_e(devinfo, res->surf.format)) - res->aux.possible_usages |= 1 << ISL_AUX_USAGE_CCS_E; - else if (isl_format_supports_ccs_d(devinfo, res->surf.format)) - res->aux.possible_usages |= 1 << ISL_AUX_USAGE_CCS_D; + } else if (res->surf.samples > 1) { + if (supports_mcs(&res->surf)) + res->aux.possible_usages |= 1 << ISL_AUX_USAGE_MCS; + } else { + if (has_depth) { + res->aux.possible_usages |= 1 << ISL_AUX_USAGE_HIZ; + } else if (supports_ccs(devinfo, &res->surf)) { + if (isl_format_supports_ccs_e(devinfo, res->surf.format)) + res->aux.possible_usages |= 1 << ISL_AUX_USAGE_CCS_E; + else if (isl_format_supports_ccs_d(devinfo, res->surf.format)) + res->aux.possible_usages |= 1 << ISL_AUX_USAGE_CCS_D; + } } // XXX: we don't actually do aux yet |