iris: Don't use STREAMING_LOAD without SSE

isl will assert out otherwise. Hit this with intel_stub_gpu on arm64, but it is
a legitimate bug since someone might plug a DG2 card into a workstation-grade
arm64 or ppc64 supporting PCIe (it exists).

This forward ports the logic from crocus, which checks for both SSE at a
compile-time level as well as in the CPU caps. This might be excessive since DG2
cards apparently wouldn't work properly on old non-SSE x86 boxes anyway? I just
crocus-and-pasted.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23608>
This commit is contained in:
Alyssa Rosenzweig 2023-06-12 18:00:39 -04:00 committed by Marge Bot
parent 1e46ca673c
commit 84856cabfc

View file

@ -2389,7 +2389,12 @@ iris_map_tiled_memcpy(struct iris_transfer *map)
isl_memcpy_tiled_to_linear(x1, x2, y1, y2, ptr, src, xfer->stride,
surf->row_pitch_B, has_swizzling,
surf->tiling, ISL_MEMCPY_STREAMING_LOAD);
surf->tiling,
#if defined(USE_SSE41)
util_get_cpu_caps()->has_sse4_1 ?
ISL_MEMCPY_STREAMING_LOAD :
#endif
ISL_MEMCPY);
}
}