crocus: disable Y tiling for render targets properly.
authorDave Airlie <airlied@redhat.com>
Thu, 9 Feb 2023 02:59:53 +0000 (12:59 +1000)
committerMarge Bot <emma+marge@anholt.net>
Fri, 10 Feb 2023 01:25:42 +0000 (01:25 +0000)
The old code would disallow linear targets as well which would confuse
things with reimporting dma-bufs.

Fixes: 32728dc66e36 ("crocus: introduce main resource configuration helper.")
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21209>

src/gallium/drivers/crocus/crocus_resource.c

index 7b4d50a..4f548eb 100644 (file)
@@ -190,9 +190,7 @@ crocus_resource_configure_main(const struct crocus_screen *screen,
       tiling_flags = 1 << res->mod_info->tiling;
    } else {
       if (templ->bind & PIPE_BIND_RENDER_TARGET && devinfo->ver < 6) {
-         modifier = I915_FORMAT_MOD_X_TILED;
-         res->mod_info = isl_drm_modifier_get_info(modifier);
-         tiling_flags = 1 << res->mod_info->tiling;
+         tiling_flags &= ~ISL_TILING_Y0_BIT;
       }
       /* Use linear for staging buffers */
       if (templ->usage == PIPE_USAGE_STAGING ||