Mesa (master): etnaviv: store updated usage in pipe_transfer object

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Oct 20 09:16:01 UTC 2019


Module: Mesa
Branch: master
Commit: eab6d75066463365fb89f99ad6185e462ecb33ea
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eab6d75066463365fb89f99ad6185e462ecb33ea

Author: Christian Gmeiner <christian.gmeiner at gmail.com>
Date:   Fri Sep  6 21:21:26 2019 +0200

etnaviv: store updated usage in pipe_transfer object

Store the changed usage in the newly created transfer object.

Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Reviewed-by: Lucas Stach <l.stach at pengutronix.de>

---

 src/gallium/drivers/etnaviv/etnaviv_transfer.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_transfer.c b/src/gallium/drivers/etnaviv/etnaviv_transfer.c
index ade4e877bf1..62b876f2d99 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_transfer.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_transfer.c
@@ -199,14 +199,6 @@ etna_transfer_map(struct pipe_context *pctx, struct pipe_resource *prsc,
    /* slab_alloc() doesn't zero */
    memset(trans, 0, sizeof(*trans));
 
-   ptrans = &trans->base;
-   pipe_resource_reference(&ptrans->resource, prsc);
-   ptrans->level = level;
-   ptrans->usage = usage;
-   ptrans->box = *box;
-
-   assert(level <= prsc->last_level);
-
    /* Upgrade DISCARD_RANGE to WHOLE_RESOURCE if the whole resource is
     * being mapped. If we add buffer reallocation to avoid CPU/GPU sync this
     * check needs to be extended to coherent mappings and shared resources.
@@ -221,6 +213,14 @@ etna_transfer_map(struct pipe_context *pctx, struct pipe_resource *prsc,
       usage |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE;
    }
 
+   ptrans = &trans->base;
+   pipe_resource_reference(&ptrans->resource, prsc);
+   ptrans->level = level;
+   ptrans->usage = usage;
+   ptrans->box = *box;
+
+   assert(level <= prsc->last_level);
+
    if (rsc->texture && !etna_resource_newer(rsc, etna_resource(rsc->texture))) {
       /* We have a texture resource which is the same age or newer than the
        * render resource. Use the texture resource, which avoids bouncing




More information about the mesa-commit mailing list