|
|
@@ -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 |