i965: Isolate aligned dimensions for stencil only
authorTopi Pohjolainen <topi.pohjolainen@intel.com>
Sat, 5 Dec 2015 15:59:57 +0000 (17:59 +0200)
committerTopi Pohjolainen <topi.pohjolainen@intel.com>
Fri, 12 Feb 2016 07:13:07 +0000 (09:13 +0200)
This makes the logic a little more explicit and helps to keep
subsequent patches easier to read.

Suggested-by: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/intel_mipmap_tree.c

index 108dd87dd8bde06b81d102d80c150c41af08029c..97dd3d9f77664c906f09ff7781bdf472784d7d80 100644 (file)
@@ -624,7 +624,6 @@ intel_miptree_create(struct brw_context *brw,
    struct intel_mipmap_tree *mt;
    mesa_format tex_format = format;
    mesa_format etc_format = MESA_FORMAT_NONE;
-   GLuint total_width, total_height;
    uint32_t alloc_flags = 0;
 
    format = intel_lower_compressed_format(brw, format);
@@ -645,15 +644,6 @@ intel_miptree_create(struct brw_context *brw,
       return NULL;
    }
 
-   total_width = mt->total_width;
-   total_height = mt->total_height;
-
-   if (format == MESA_FORMAT_S_UINT8) {
-      /* Align to size of W tile, 64x64. */
-      total_width = ALIGN(total_width, 64);
-      total_height = ALIGN(total_height, 64);
-   }
-
    bool y_or_x = false;
 
    if (mt->tiling == (I915_TILING_Y | I915_TILING_X)) {
@@ -675,10 +665,19 @@ intel_miptree_create(struct brw_context *brw,
       mt->bo = drm_intel_bo_alloc_for_render(brw->bufmgr, "miptree",
                                              size, alignment);
    } else {
-      mt->bo = drm_intel_bo_alloc_tiled(brw->bufmgr, "miptree",
-                                        total_width, total_height, mt->cpp,
-                                        &mt->tiling, &pitch,
-                                        alloc_flags);
+      if (format == MESA_FORMAT_S_UINT8) {
+         /* Align to size of W tile, 64x64. */
+         mt->bo = drm_intel_bo_alloc_tiled(brw->bufmgr, "miptree",
+                                           ALIGN(mt->total_width, 64),
+                                           ALIGN(mt->total_height, 64),
+                                           mt->cpp, &mt->tiling, &pitch,
+                                           alloc_flags);
+      } else {
+         mt->bo = drm_intel_bo_alloc_tiled(brw->bufmgr, "miptree",
+                                           mt->total_width, mt->total_height,
+                                           mt->cpp, &mt->tiling, &pitch,
+                                           alloc_flags);
+      }
    }
 
    mt->pitch = pitch;
@@ -694,7 +693,7 @@ intel_miptree_create(struct brw_context *brw,
       mt->tiling = I915_TILING_X;
       drm_intel_bo_unreference(mt->bo);
       mt->bo = drm_intel_bo_alloc_tiled(brw->bufmgr, "miptree",
-                                  total_width, total_height, mt->cpp,
+                                  mt->total_width, mt->total_height, mt->cpp,
                                   &mt->tiling, &pitch, alloc_flags);
       mt->pitch = pitch;
    }