* of media-compressed surfaces, resolves are avoided.
*/
return util_format_is_yuv(pfmt) ||
- isl_drm_modifier_get_info(modifier)->aux_usage == ISL_AUX_USAGE_MC;
+ isl_drm_modifier_get_info(modifier)->supports_media_compression;
}
static void
if (isl_surf_usage_is_stencil(res->surf.usage)) {
assert(!res->mod_info);
res->aux.usage = ISL_AUX_USAGE_STC_CCS;
- } else if (res->mod_info) {
- res->aux.usage = res->mod_info->aux_usage;
+ } else if (res->mod_info && res->mod_info->supports_media_compression) {
+ res->aux.usage = ISL_AUX_USAGE_MC;
} else if (want_ccs_e_for_format(devinfo, res->surf.format)) {
res->aux.usage = devinfo->ver < 12 ?
ISL_AUX_USAGE_CCS_E : ISL_AUX_USAGE_FCV_CCS_E;
/** ISL tiling implied by this modifier */
enum isl_tiling tiling;
- /** ISL aux usage implied by this modifier */
- enum isl_aux_usage aux_usage;
+ /** Compression types supported by this modifier */
+ bool supports_render_compression;
+ bool supports_media_compression;
/** Whether or not this modifier supports clear color */
bool supports_clear_color;
if (modifier == DRM_FORMAT_MOD_INVALID)
return false;
- return isl_drm_modifier_get_info(modifier)->aux_usage != ISL_AUX_USAGE_NONE;
+ return isl_drm_modifier_get_info(modifier)->supports_render_compression ||
+ isl_drm_modifier_get_info(modifier)->supports_media_compression;
}
/** Returns the default isl_aux_state for the given modifier.
const struct isl_drm_modifier_info *mod_info =
isl_drm_modifier_get_info(modifier);
- if (!mod_info || mod_info->aux_usage == ISL_AUX_USAGE_NONE)
+ if (!mod_info || !isl_drm_modifier_has_aux(modifier))
return ISL_AUX_STATE_AUX_INVALID;
- assert(mod_info->aux_usage == ISL_AUX_USAGE_CCS_E ||
- mod_info->aux_usage == ISL_AUX_USAGE_FCV_CCS_E ||
- mod_info->aux_usage == ISL_AUX_USAGE_MC);
+ assert(mod_info->supports_render_compression !=
+ mod_info->supports_media_compression);
return mod_info->supports_clear_color ? ISL_AUX_STATE_COMPRESSED_CLEAR :
ISL_AUX_STATE_COMPRESSED_NO_CLEAR;
}
.modifier = I915_FORMAT_MOD_Y_TILED_CCS,
.name = "I915_FORMAT_MOD_Y_TILED_CCS",
.tiling = ISL_TILING_Y0,
- .aux_usage = ISL_AUX_USAGE_CCS_E,
+ .supports_render_compression = true,
.supports_clear_color = false,
},
{
.modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS,
.name = "I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS",
.tiling = ISL_TILING_Y0,
- .aux_usage = ISL_AUX_USAGE_FCV_CCS_E,
+ .supports_render_compression = true,
.supports_clear_color = false,
},
{
.modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS,
.name = "I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS",
.tiling = ISL_TILING_Y0,
- .aux_usage = ISL_AUX_USAGE_MC,
+ .supports_media_compression = true,
.supports_clear_color = false,
},
{
.modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC,
.name = "I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC",
.tiling = ISL_TILING_Y0,
- .aux_usage = ISL_AUX_USAGE_FCV_CCS_E,
+ .supports_render_compression = true,
.supports_clear_color = true,
},
{
.modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS,
.name = "I915_FORMAT_MOD_4_TILED_DG2_RC_CCS",
.tiling = ISL_TILING_4,
- .aux_usage = ISL_AUX_USAGE_FCV_CCS_E,
+ .supports_render_compression = true,
.supports_clear_color = false,
},
{
.modifier = I915_FORMAT_MOD_4_TILED_DG2_MC_CCS,
.name = "I915_FORMAT_MOD_4_TILED_DG2_MC_CCS",
.tiling = ISL_TILING_4,
- .aux_usage = ISL_AUX_USAGE_MC,
+ .supports_media_compression = true,
.supports_clear_color = false,
},
{
.modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC,
.name = "I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC",
.tiling = ISL_TILING_4,
- .aux_usage = ISL_AUX_USAGE_FCV_CCS_E,
+ .supports_render_compression = true,
.supports_clear_color = true,
},
{
.modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS,
.name = "I915_FORMAT_MOD_4_TILED_MTL_RC_CCS",
.tiling = ISL_TILING_4,
- .aux_usage = ISL_AUX_USAGE_FCV_CCS_E,
+ .supports_render_compression = true,
.supports_clear_color = false,
},
{
.modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS_CC,
.name = "I915_FORMAT_MOD_4_TILED_MTL_RC_CCS_CC",
.tiling = ISL_TILING_4,
- .aux_usage = ISL_AUX_USAGE_FCV_CCS_E,
+ .supports_render_compression = true,
.supports_clear_color = true,
},
{
.modifier = I915_FORMAT_MOD_4_TILED_MTL_MC_CCS,
.name = "I915_FORMAT_MOD_4_TILED_MTL_MC_CCS",
.tiling = ISL_TILING_4,
- .aux_usage = ISL_AUX_USAGE_MC,
+ .supports_media_compression = true,
.supports_clear_color = false,
},
{