diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index 1ad7339d452..ef42e84718b 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -753,7 +753,16 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state, } } -#if GFX_VERx10 >= 125 +#if GFX_VERx10 >= 200 + /* According to Bspec 58797 (r58646), the compression format is only + * used to improve compression. It is not used for decompression. + */ + if (info->view->usage & (ISL_SURF_USAGE_RENDER_TARGET_BIT | + ISL_SURF_USAGE_STORAGE_BIT)) { + s.CompressionFormat = + isl_get_render_compression_format(info->surf->format); + } +#elif GFX_VERx10 == 125 if (info->aux_usage == ISL_AUX_USAGE_MC) { s.CompressionFormat = get_media_compression_format(info->mc_format, info->surf->format);