isl: add gen12 comment about CCS for linear tiling
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 24 Jan 2020 21:45:41 +0000 (23:45 +0200)
committerMarge Bot <eric+marge@anholt.net>
Sun, 26 Jan 2020 20:46:14 +0000 (20:46 +0000)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3551>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3551>

src/intel/isl/isl.c

index d68ac324d0765b07b516d4761de46ff25a4b67cf..f737f8b3b539d9678276bfc1db8e684a0ab08fd9 100644 (file)
@@ -2020,6 +2020,16 @@ isl_surf_get_ccs_surf(const struct isl_device *dev,
       if (surf->tiling != ISL_TILING_Y0)
          return false;
 
+      /* BSpec 44930:
+       *
+       *    Linear CCS is only allowed for Untyped Buffers but only via HDC
+       *    Data-Port messages.
+       *
+       * We probably want to limit linear CCS to storage usage and check that
+       * the shaders actually use only untyped messages.
+       */
+      assert(surf->tiling != ISL_TILING_LINEAR);
+
       switch (isl_format_get_layout(surf->format)->bpb) {
       case 8:     ccs_format = ISL_FORMAT_GEN12_CCS_8BPP_Y0;    break;
       case 16:    ccs_format = ISL_FORMAT_GEN12_CCS_16BPP_Y0;   break;