summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2020-01-24 23:45:41 +0200
committerMarge Bot <[email protected]>2020-01-26 20:46:14 +0000
commit8bd92a15cf28714f1752fbdbafcf78f575e16f13 (patch)
tree3a0c130ca4b4ca9cde57f7fa632b48ec34ade4a4
parenta3f6db2c4e927be7e7d40cbc39c8664030d2af59 (diff)
isl: add gen12 comment about CCS for linear tiling
Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3551> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3551>
-rw-r--r--src/intel/isl/isl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index d68ac324d07..f737f8b3b53 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -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;