i965/miptree: Use cpu tiling/detiling when mapping
authorScott D Phillips <scott.d.phillips@intel.com>
Mon, 30 Apr 2018 17:25:49 +0000 (10:25 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 26 May 2018 04:35:50 +0000 (21:35 -0700)
commit79fe00efb474b3f3f0ba4c88826ff67c53a02aef
tree5bd2cf0cff1af909bfaa575465a14d0c259c5b9f
parentf5e8b13f78a085bc95a1c0895e4a38ff6b87b375
i965/miptree: Use cpu tiling/detiling when mapping

Rename the (un)map_gtt functions to (un)map_map (map by
returning a map) and add new functions (un)map_tiled_memcpy that
return a shadow buffer populated with the intel_tiled_memcpy
functions.

Tiling/detiling with the cpu will be the only way to handle Yf/Ys
tiling, when support is added for those formats.

v2: Compute extents properly in the x|y-rounded-down case (Chris Wilson)

v3: Add units to parameter names of tile_extents (Nanley Chery)
    Use _mesa_align_malloc for the shadow copy (Nanley)
    Continue using gtt maps on gen4 (Nanley)

v4: Use streaming_load_memcpy when detiling

v5: (edited by Ken) Move map_tiled_memcpy above map_movntdqa, so it
    takes precedence.  Add intel_miptree_access_raw, needed after
    rebasing on commit b499b85b0f2cc0c82b7c9af91502c2814fdc8e67.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/intel_mipmap_tree.c