i965: Isolate aligned dimensions for stencil only

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>
This commit is contained in:
Topi Pohjolainen 2015-12-05 17:59:57 +02:00
parent 0dcd9a09d1
commit d089f2d932

View 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;
}