We don't have a fallback to get them into a render/sampler compatible layout (yet). Rejecting the import at least forwards this issue to the client application, which might have a way to deal with this.
Signed-off-by: Lucas Stach <[email protected]> --- src/gallium/drivers/etnaviv/etnaviv_resource.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gallium/drivers/etnaviv/etnaviv_resource.c b/src/gallium/drivers/etnaviv/etnaviv_resource.c index c17a1704537e..41688dd340c2 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_resource.c +++ b/src/gallium/drivers/etnaviv/etnaviv_resource.c @@ -524,6 +524,14 @@ etna_resource_from_handle(struct pipe_screen *pscreen, level->width = tmpl->width0; level->height = tmpl->height0; + /* Reject imports of linear buffers if they have a blocksize incompatible + * with the hardware tiler, as we don't have a fallback path to get them into + * a render/sampler compatible layout. + */ + if (rsc->layout == ETNA_LAYOUT_LINEAR && !screen->specs.use_blt && + util_format_get_blocksize(prsc->format) == 1) + goto fail; + /* Determine padding of the imported resource. */ unsigned paddingX = 0, paddingY = 0; etna_layout_multiple(rsc->layout, screen->specs.pixel_pipes, -- 2.18.0 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
