iris: Disable tiled memcpy for Tile4

ISL's tiled memcpy functions don't support it yet.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
This commit is contained in:
Nanley Chery
2021-04-06 11:45:22 -07:00
committed by Marge Bot
parent fd509ef59d
commit 0022a11ff4
+7
View File
@@ -2118,6 +2118,10 @@ iris_transfer_map(struct pipe_context *ctx,
}
}
/* TODO: Teach iris_map_tiled_memcpy about Tile4... */
if (res->surf.tiling == ISL_TILING_4)
usage &= ~PIPE_MAP_DIRECTLY;
if (!(usage & PIPE_MAP_DIRECTLY)) {
/* If we need a synchronous mapping and the resource is busy, or needs
* resolving, we copy to/from a linear temporary buffer using the GPU.
@@ -2256,8 +2260,11 @@ iris_texture_subdata(struct pipe_context *ctx,
* Linear staging buffers appear to be better than tiled ones, too, so
* take that path if we need the GPU to perform color compression, or
* stall-avoidance blits.
*
* TODO: Teach isl_memcpy_linear_to_tiled about Tile4...
*/
if (surf->tiling == ISL_TILING_LINEAR ||
surf->tiling == ISL_TILING_4 ||
isl_aux_usage_has_compression(res->aux.usage) ||
resource_is_busy(ice, res) ||
res->bo->mmap_mode == IRIS_MMAP_NONE) {