etnaviv: Enable single-triangle blitter mode

Vivante hardware exhibits floating-point interpolation inconsistencies
at the diagonal seam when the blitter uses a two-triangle quad for scaled
NEAREST blits. Enable the single-triangle blitter mode to match the
proprietary driver's approach of using one oversized triangle
clipped by scissor.

Fixes dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_*
Fixes dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_*

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39973>
This commit is contained in:
Christian Gmeiner 2026-02-18 00:46:28 +01:00 committed by Marge Bot
parent ec41afc7aa
commit 5e61368d3b

View file

@ -753,6 +753,8 @@ etna_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
ctx->blitter = util_blitter_create(pctx);
if (!ctx->blitter)
goto fail;
ctx->blitter->use_single_triangle = true;
}
slab_create_child(&ctx->transfer_pool, &screen->transfer_pool);