etnaviv: Limit max supported render targets

We want to use some render targets for internal use. For instance, the
blob uses two render targets for GL_RGBA32F emulation.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26565>
This commit is contained in:
Christian Gmeiner 2023-12-07 09:46:50 +01:00 committed by Marge Bot
parent 6b154706f3
commit 928a276b78

View file

@ -252,8 +252,15 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
return screen->specs.seamless_cube_map;
/* Render targets. */
case PIPE_CAP_MAX_RENDER_TARGETS:
case PIPE_CAP_MAX_RENDER_TARGETS: {
/* If the GPU supports float formats we need to reserve half of
* the available render targets for emulation proposes.
*/
if (VIV_FEATURE(screen, ETNA_FEATURE_HALTI2))
return screen->specs.num_rts / 2;
return screen->specs.num_rts;
}
/* Queries. */
case PIPE_CAP_OCCLUSION_QUERY: