[Mesa-dev] [PATCH 4/5] i965/miptree: Map with movntdqa for linear buffers only
Chris Wilson
chris at chris-wilson.co.uk
Thu Apr 5 20:16:06 UTC 2018
Quoting Scott D Phillips (2018-04-03 21:05:44)
> Removes a place where gtt mapping is used.
>
> Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
> ---
> src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index 58ffe868d0d..d8a6fc692ab 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -3735,7 +3735,8 @@ intel_miptree_map(struct brw_context *brw,
> #if defined(USE_SSE41)
> } else if (!(mode & GL_MAP_WRITE_BIT) &&
> !mt->compressed && cpu_has_sse4_1 &&
> - (mt->surf.row_pitch % 16 == 0)) {
> + (mt->surf.row_pitch % 16 == 0) &&
> + (mt->surf.tiling == ISL_TILING_LINEAR)) {
> intel_miptree_map_movntdqa(brw, mt, map, level, slice);
> #endif
> } else if (mt->surf.tiling != ISL_TILING_LINEAR &&
> @@ -3781,6 +3782,7 @@ intel_miptree_unmap(struct brw_context *brw,
> } else if (!(map->mode & GL_MAP_WRITE_BIT) &&
> !mt->compressed && cpu_has_sse4_1 &&
> (mt->surf.row_pitch % 16 == 0) &&
> + (mt->surf.tiling == ISL_TILING_LINEAR) &&
> map->buffer) {
> intel_miptree_unmap_movntdqa(brw, mt, map, level, slice);
And the rules in brw_bo_map() do mean that it will try to use WB/WC
mmaps. And the new map from patch 3 provides the tiled accesss WC.
We could fix up the alignment requirement here to avoid falling through
to map_map.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris
More information about the mesa-dev
mailing list