From f9af3b368a761cd0ffac45e7740f7d3d331b95b4 Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Fri, 18 Nov 2022 17:08:41 +0100 Subject: [PATCH] etnaviv: add helper to transfer resource level age to another Add a small helper to transfer the age (seqno) from one resource level to another. Signed-off-by: Lucas Stach Reviewed-by: Christian Gmeiner Part-of: --- src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 4 ++-- src/gallium/drivers/etnaviv/etnaviv_resource.h | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c index 2277cd2009a..9393a1caf00 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c +++ b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c @@ -245,7 +245,7 @@ etna_copy_resource(struct pipe_context *pctx, struct pipe_resource *dst, if (src == dst) etna_resource_level_mark_flushed(&dst_priv->levels[level]); else - dst_priv->levels[level].seqno = src_priv->levels[level].seqno; + etna_resource_level_copy_seqno(&dst_priv->levels[level], &src_priv->levels[level]); } } @@ -282,7 +282,7 @@ etna_copy_resource_box(struct pipe_context *pctx, struct pipe_resource *dst, if (src == dst) etna_resource_level_mark_flushed(&dst_priv->levels[level]); else - dst_priv->levels[level].seqno = src_priv->levels[level].seqno; + etna_resource_level_copy_seqno(&dst_priv->levels[level], &src_priv->levels[level]); } void diff --git a/src/gallium/drivers/etnaviv/etnaviv_resource.h b/src/gallium/drivers/etnaviv/etnaviv_resource.h index 7c1a5deed90..e972cb06adc 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_resource.h +++ b/src/gallium/drivers/etnaviv/etnaviv_resource.h @@ -113,6 +113,13 @@ etna_resource_level_mark_changed(struct etna_resource_level *lvl) lvl->seqno++; } +static inline void +etna_resource_level_copy_seqno(struct etna_resource_level *dst, + struct etna_resource_level *src) +{ + dst->seqno = src->seqno; +} + /* status of queued up but not flushed reads and write operations. * In _transfer_map() we need to know if queued up rendering needs * to be flushed to preserve the order of cpu and gpu access. */