summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2018-01-08 16:28:46 -0800
committerJordan Justen <[email protected]>2019-10-17 14:47:22 -0700
commitd9565160b289b8ebf3d953e57e156382bc62ecc3 (patch)
treecf01ce6c9f8e4f9b6f1f48584598b2abef18882b
parent9dd9c3363b4aa0ef0586b75cab91f5efe2efbea8 (diff)
intel/isl: Select Y-tiling for stencil on gen12
Rework: * Disallow linear 1D stencil buffers (Nanley) * Force Y for gen12 stencil rather than ~W (Nanley) Co-authored-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Nanley Chery <[email protected]>
-rw-r--r--src/intel/isl/isl_gen7.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c
index a9db21fba52..e1feae9b375 100644
--- a/src/intel/isl/isl_gen7.c
+++ b/src/intel/isl/isl_gen7.c
@@ -213,11 +213,14 @@ isl_gen6_filter_tiling(const struct isl_device *dev,
*flags &= ISL_TILING_ANY_Y_MASK;
}
- /* Separate stencil requires W tiling, and W tiling requires separate
- * stencil.
- */
if (isl_surf_usage_is_stencil(info->usage)) {
- *flags &= ISL_TILING_W_BIT;
+ if (ISL_DEV_GEN(dev) >= 12) {
+ /* Stencil requires Y. */
+ *flags &= ISL_TILING_ANY_Y_MASK;
+ } else {
+ /* Stencil requires W. */
+ *flags &= ISL_TILING_W_BIT;
+ }
} else {
*flags &= ~ISL_TILING_W_BIT;
}