etnaviv: Create MSAA surfaces with PE compatible tiling

MSAA surfaces are always used for rendering, and only as blit sources,
so the need to be allocated with PE compatible tiling.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013>
This commit is contained in:
Gert Wollny
2022-07-03 07:37:06 +02:00
committed by Marge Bot
parent 6c0eff847d
commit c581e426a9

View File

@@ -371,6 +371,15 @@ etna_resource_create(struct pipe_screen *pscreen,
layout |= ETNA_LAYOUT_BIT_SUPER;
}
if (/* MSAA render target */
(templat->nr_samples > 1) &&
(templat->bind & (PIPE_BIND_RENDER_TARGET | PIPE_BIND_DEPTH_STENCIL))) {
if (screen->specs.pixel_pipes > 1 && !screen->specs.single_buffer)
layout |= ETNA_LAYOUT_BIT_MULTI;
if (screen->specs.can_supertile)
layout |= ETNA_LAYOUT_BIT_SUPER;
}
if (/* linear base or scanout without modifier requested */
(templat->bind & (PIPE_BIND_LINEAR | PIPE_BIND_SCANOUT)) ||
templat->target == PIPE_BUFFER || /* buffer always linear */