Mesa (main): zink: split transfer_unmap for images and buffers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 17 19:59:56 UTC 2021


Module: Mesa
Branch: main
Commit: 6001ebc1b6745fff2f3276f4272e8904d51298c7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6001ebc1b6745fff2f3276f4272e8904d51298c7

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu Jul 29 13:02:22 2021 -0400

zink: split transfer_unmap for images and buffers

these should be separate

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410>

---

 src/gallium/drivers/zink/zink_resource.c | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c
index 1c5fe7bc144..36782c1f9f3 100644
--- a/src/gallium/drivers/zink/zink_resource.c
+++ b/src/gallium/drivers/zink/zink_resource.c
@@ -68,9 +68,6 @@ zink_transfer_map(struct pipe_context *pctx,
                   unsigned usage,
                   const struct pipe_box *box,
                   struct pipe_transfer **transfer);
-static void
-zink_transfer_unmap(struct pipe_context *pctx,
-                    struct pipe_transfer *ptrans);
 
 void
 debug_describe_zink_resource_object(char *buf, const struct zink_resource_object *ptr)
@@ -1378,8 +1375,7 @@ zink_transfer_flush_region(struct pipe_context *pctx,
 }
 
 static void
-zink_transfer_unmap(struct pipe_context *pctx,
-                    struct pipe_transfer *ptrans)
+transfer_unmap(struct pipe_context *pctx, struct pipe_transfer *ptrans)
 {
    struct zink_context *ctx = zink_context(pctx);
    struct zink_screen *screen = zink_screen(pctx->screen);
@@ -1410,6 +1406,18 @@ zink_transfer_unmap(struct pipe_context *pctx,
    }
 }
 
+static void
+zink_buffer_unmap(struct pipe_context *pctx, struct pipe_transfer *ptrans)
+{
+   transfer_unmap(pctx, ptrans);
+}
+
+static void
+zink_image_unmap(struct pipe_context *pctx, struct pipe_transfer *ptrans)
+{
+   transfer_unmap(pctx, ptrans);
+}
+
 static void
 zink_buffer_subdata(struct pipe_context *ctx, struct pipe_resource *buffer,
                     unsigned usage, unsigned offset, unsigned size, const void *data)
@@ -1429,7 +1437,7 @@ zink_buffer_subdata(struct pipe_context *ctx, struct pipe_resource *buffer,
       return;
 
    memcpy(map, data, size);
-   zink_transfer_unmap(ctx, transfer);
+   zink_buffer_unmap(ctx, transfer);
 }
 
 static struct pipe_resource *
@@ -1596,7 +1604,7 @@ static const struct u_transfer_vtbl transfer_vtbl = {
    .resource_create       = zink_resource_create,
    .resource_destroy      = zink_resource_destroy,
    .transfer_map          = zink_transfer_map,
-   .transfer_unmap        = zink_transfer_unmap,
+   .transfer_unmap        = zink_image_unmap,
    .transfer_flush_region = zink_transfer_flush_region,
    .get_internal_format   = zink_resource_get_internal_format,
    .set_stencil           = zink_resource_set_separate_stencil,
@@ -1623,8 +1631,8 @@ zink_screen_resource_init(struct pipe_screen *pscreen)
 void
 zink_context_resource_init(struct pipe_context *pctx)
 {
-   pctx->buffer_map = u_transfer_helper_deinterleave_transfer_map;
-   pctx->buffer_unmap = u_transfer_helper_deinterleave_transfer_unmap;
+   pctx->buffer_map = zink_transfer_map;
+   pctx->buffer_unmap = zink_buffer_unmap;
    pctx->texture_map = u_transfer_helper_deinterleave_transfer_map;
    pctx->texture_unmap = u_transfer_helper_deinterleave_transfer_unmap;
 



More information about the mesa-commit mailing list