isl: Enable compression with multisampled Tile64
authorNanley Chery <nanley.g.chery@intel.com>
Mon, 29 Mar 2021 18:02:56 +0000 (11:02 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 27 Jan 2022 22:38:01 +0000 (22:38 +0000)
We haven't tested the single-sampled case, so this doesn't enable any
more uses of standalone CCS. This does however, allow multisampled
surfaces with MCS or HIZ to get upgraded to MCS_CCS and HIZ_CCS,
respectively.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14431>

src/intel/isl/isl.c

index 07ab61b..b2de154 100644 (file)
@@ -2204,7 +2204,12 @@ isl_surf_supports_ccs(const struct isl_device *dev,
        */
 
       /* TODO: Handle the other tiling formats */
-      if (surf->tiling != ISL_TILING_Y0 && surf->tiling != ISL_TILING_4)
+      if (surf->tiling != ISL_TILING_Y0 && surf->tiling != ISL_TILING_4 &&
+          surf->tiling != ISL_TILING_64)
+         return false;
+
+      /* TODO: Handle single-sampled Tile64. */
+      if (surf->samples == 1 && surf->tiling == ISL_TILING_64)
          return false;
    } else {
       /* ISL_GFX_VER(dev) < 12 */