[PATCH i-g-t 10/12] lib/intel_bufops: Drop Tile4 swizzling
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Mon Jun 17 11:17:40 UTC 2024
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> Swizzling is used only on older platforms and for X and Y tilings.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
> lib/intel_bufops.c | 38 +++++++-------------------------------
> 1 file changed, 7 insertions(+), 31 deletions(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index eb367be2f3..d0f6ab481f 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -121,7 +121,6 @@ struct buf_ops {
> uint32_t supported_hw_tiles;
> uint32_t swizzle_x;
> uint32_t swizzle_y;
> - uint32_t swizzle_tile4;
> bo_copy linear_to;
> bo_copy linear_to_x;
> bo_copy linear_to_y;
> @@ -654,7 +653,7 @@ static void copy_linear_to_tile4(struct buf_ops *bops, struct intel_buf *buf,
> uint32_t *linear)
> {
> DEBUGFN();
> - __copy_linear_to(bops->fd, buf, linear, I915_TILING_4, bops->swizzle_tile4);
> + __copy_linear_to(bops->fd, buf, linear, I915_TILING_4, 0);
> }
>
> static void __copy_to_linear(int fd, struct intel_buf *buf,
> @@ -1531,7 +1530,7 @@ void intel_buf_draw_pattern(struct buf_ops *bops, struct intel_buf *buf,
> #define DEFAULT_BUFOPS(__gen_start, __gen_end) \
> .gen_start = __gen_start, \
> .gen_end = __gen_end, \
> - .supported_hw_tiles = TILE_X | TILE_Y | TILE_4, \
> + .supported_hw_tiles = TILE_X | TILE_Y, \
> .linear_to = copy_linear_to_wc, \
> .linear_to_x = copy_linear_to_gtt, \
> .linear_to_y = copy_linear_to_gtt, \
> @@ -1586,8 +1585,6 @@ static bool probe_hw_tiling(struct buf_ops *bops, uint32_t tiling,
> bops->swizzle_x = buf_swizzle;
> else if (tiling == I915_TILING_Y)
> bops->swizzle_y = buf_swizzle;
> - else if (tiling == I915_TILING_4)
> - bops->swizzle_tile4 = buf_swizzle;
>
> *swizzling_supported = buf_swizzle == phys_swizzle;
> }
> @@ -1754,36 +1751,15 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
> }
> }
>
> - if (is_hw_tiling_supported(bops, I915_TILING_4)) {
> - bool swizzling_supported;
> - bool supported = probe_hw_tiling(bops, I915_TILING_4,
> - &swizzling_supported);
> -
> - if (!swizzling_supported) {
> - igt_debug("Swizzling for 4 is not supported\n");
> - bops->supported_tiles &= ~TILE_4;
> - }
> -
> - igt_debug("4 fence support: %s\n", bool_str(supported));
> - if (!supported) {
> - bops->supported_hw_tiles &= ~TILE_4;
> - bops->linear_to_tile4 = copy_linear_to_tile4;
> - bops->tile4_to_linear = copy_tile4_to_linear;
> - }
> - }
> -
> /* Disable other tiling format functions if not supported */
> - if (!is_tiling_supported(bops, I915_TILING_Yf)) {
> + if (!is_tiling_supported(bops, I915_TILING_Yf))
> igt_debug("Yf format not supported\n");
> - bops->linear_to_yf = NULL;
> - bops->yf_to_linear = NULL;
> - }
>
> - if (!is_tiling_supported(bops, I915_TILING_Ys)) {
> + if (!is_tiling_supported(bops, I915_TILING_Ys))
> igt_debug("Ys format not supported\n");
> - bops->linear_to_ys = NULL;
> - bops->ys_to_linear = NULL;
> - }
> +
> + if (!is_tiling_supported(bops, I915_TILING_4))
> + igt_debug("Tile4 format not supported\n");
>
> if (check_idempotency) {
> idempotency_selftest(bops, I915_TILING_X);
More information about the igt-dev
mailing list