WIP/intel: Disable hiz on individual miptree slices

TODO: 3d textures
TODO: doc
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
WIP: HiZ ambiguate immediately after creation

See workaround docs.
intel: Refactor selection of miptree tiling

This extracts from intel_miptree_create() the spaghetti logic that selects
the tiling format and moves it to a new function,
intel_miptree_choose_tiling(). No behavioral change.

As a bonus, it is now evident that the force_y_tiling parameter to
intel_miptree_create() does not really force Y tiling.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
intel: Refactor selection of miptree's internal formats

Extract from intel_miptree_create() the logic for selecting
intel_mipmap_tree::format and ::etc_format into a new function,
intel_miptree_select_formats(). No behavioral change.

Now, intel_miptree_create() is short enough to be almost understandable.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
i965: Push stencil alignment w/a down to brw_miptree_layout()

Miptree creation has a workaround for separate stencil buffers.  After the
layout is created, we override the tiling to I915_NONE and align it 64x64,
the size of a W-tile.

Before this patch, the workaround occurs in an odd place:
intel_miptree_create(). After brw_miptree_layout() creates the layout,
intel_miptree_create() overrides the tiling and alignment as needed.

Rather than override something after it has been set, it's safer to just
set it correctly in the first place. To do that, this patch pushes down
the workaround into brw_miptree_layout().

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
WIP/intel: Add padding to depth and hiz miptrees

TODO: doc
WIP/i965/blorp: Align vertices for hiz ops
WIP: Remove 8x4 restriction in brw_fast_clear_depth()

Previous patches have made this restriction *too* restrictive.
intel: Enable hiz on Haswell

This patch sets the flag. That's all.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
HACK: Make min region size 1024x1024

For small z16 miptrees, we allocate too small a hiz buffer. This quick
hack fixes that.

We may also err for small z24 miptrees, but I haven't yet done the
calculations to confirm.
TODO