[Mesa-dev] [PATCH 07/13] i965/miptree: Share tiling_flags in miptree_create

Nanley Chery nanleychery at gmail.com
Tue Jun 12 19:21:59 UTC 2018


---
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index ca909c3fab7..03628e3fd9f 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -690,11 +690,16 @@ miptree_create(struct brw_context *brw,
                enum intel_miptree_create_flags flags)
 {
    const struct gen_device_info *devinfo = &brw->screen->devinfo;
+   isl_tiling_flags_t tiling_flags = ISL_TILING_ANY_MASK;
+
+   /* TODO: This used to be because there wasn't BLORP to handle Y-tiling. */
+   if (devinfo->gen < 6 && _mesa_is_format_color_format(format))
+      tiling_flags &= ~ISL_TILING_Y0_BIT;
 
    if (format == MESA_FORMAT_S_UINT8)
       return make_surface(brw, target, format, first_level, last_level,
                           width0, height0, depth0, num_samples,
-                          ISL_TILING_W_BIT,
+                          tiling_flags,
                           ISL_SURF_USAGE_STENCIL_BIT |
                           ISL_SURF_USAGE_TEXTURE_BIT,
                           BO_ALLOC_BUSY,
@@ -712,7 +717,7 @@ miptree_create(struct brw_context *brw,
       struct intel_mipmap_tree *mt = make_surface(
          brw, target, devinfo->gen >= 6 ? depth_only_format : format,
          first_level, last_level,
-         width0, height0, depth0, num_samples, ISL_TILING_Y0_BIT,
+         width0, height0, depth0, num_samples, tiling_flags,
          ISL_SURF_USAGE_DEPTH_BIT | ISL_SURF_USAGE_TEXTURE_BIT,
          BO_ALLOC_BUSY, 0, NULL);
 
@@ -739,12 +744,6 @@ miptree_create(struct brw_context *brw,
    if (flags & MIPTREE_CREATE_BUSY)
       alloc_flags |= BO_ALLOC_BUSY;
 
-   isl_tiling_flags_t tiling_flags = ISL_TILING_ANY_MASK;
-
-   /* TODO: This used to be because there wasn't BLORP to handle Y-tiling. */
-   if (devinfo->gen < 6)
-      tiling_flags &= ~ISL_TILING_Y0_BIT;
-
    struct intel_mipmap_tree *mt = make_surface(
                                      brw, target, format,
                                      first_level, last_level,
-- 
2.17.0



More information about the mesa-dev mailing list