From 6481805e0007d2bf53390e1af25c75b1507c2a92 Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Mon, 9 Jan 2023 16:28:37 +0100 Subject: [PATCH] etnaviv: properly check for new clear value in sampler TS setup Comparing the 64bit clear value to the lower half 32bit clear state is obviously wrong and results in a lot of false positives. Signed-off-by: Lucas Stach Reviewed-by: Christian Gmeiner Part-of: --- src/gallium/drivers/etnaviv/etnaviv_texture.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_texture.c b/src/gallium/drivers/etnaviv/etnaviv_texture.c index 73144bd4921..5797412f34f 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_texture.c +++ b/src/gallium/drivers/etnaviv/etnaviv_texture.c @@ -92,7 +92,8 @@ etna_configure_sampler_ts(struct etna_sampler_ts *sts, struct pipe_sampler_view struct etna_resource *rsc = etna_resource(pview->texture); struct etna_resource_level *lev = &rsc->levels[0]; - if (lev->clear_value != sts->TS_SAMPLER_CLEAR_VALUE) + if ((lev->clear_value & 0xffffffff) != sts->TS_SAMPLER_CLEAR_VALUE || + (lev->clear_value >> 32) != sts->TS_SAMPLER_CLEAR_VALUE2) dirty = true; assert(rsc->ts_bo && lev->ts_valid);