i965/miptree: Share alloc_flags in miptree_create
authorNanley Chery <nanley.g.chery@intel.com>
Mon, 11 Jun 2018 17:35:28 +0000 (10:35 -0700)
committerNanley Chery <nanley.g.chery@intel.com>
Fri, 13 Jul 2018 15:31:21 +0000 (08:31 -0700)
Note that this maintains BO_ALLOC_BUSY for depth renderbuffers, but not
depth textures.

v2: Add note about BO_ALLOC_BUSY in message (Topi).

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/intel_mipmap_tree.c

index 6ccfbe6ab2390a840f1bab74bea226f10ff4a0ed..5ec95d2cb5d381cfc0fd82163526d5b8d73af96a 100644 (file)
@@ -686,6 +686,8 @@ miptree_create(struct brw_context *brw,
                enum intel_miptree_create_flags flags)
 {
    const struct gen_device_info *devinfo = &brw->screen->devinfo;
+   const uint32_t alloc_flags = (flags & MIPTREE_CREATE_BUSY) ?
+                                BO_ALLOC_BUSY : 0;
    isl_tiling_flags_t tiling_flags = ISL_TILING_ANY_MASK;
 
    /* TODO: This used to be because there wasn't BLORP to handle Y-tiling. */
@@ -709,7 +711,7 @@ miptree_create(struct brw_context *brw,
                           tiling_flags,
                           ISL_SURF_USAGE_STENCIL_BIT |
                           ISL_SURF_USAGE_TEXTURE_BIT,
-                          BO_ALLOC_BUSY,
+                          alloc_flags,
                           0,
                           NULL);
 
@@ -721,7 +723,7 @@ miptree_create(struct brw_context *brw,
          first_level, last_level,
          width0, height0, depth0, num_samples, tiling_flags,
          ISL_SURF_USAGE_DEPTH_BIT | ISL_SURF_USAGE_TEXTURE_BIT,
-         BO_ALLOC_BUSY, 0, NULL);
+         alloc_flags, 0, NULL);
 
       if (needs_separate_stencil(brw, mt, format) &&
           !make_separate_stencil_surface(brw, mt)) {
@@ -735,11 +737,6 @@ miptree_create(struct brw_context *brw,
       return mt;
    }
 
-   uint32_t alloc_flags = 0;
-
-   if (flags & MIPTREE_CREATE_BUSY)
-      alloc_flags |= BO_ALLOC_BUSY;
-
    struct intel_mipmap_tree *mt = make_surface(
                                      brw, target, mt_fmt,
                                      first_level, last_level,