Lines Matching defs:trans

1623                             struct zink_transfer *trans)
1625 assert((trans->base.b.usage & (PIPE_MAP_DEPTH_ONLY | PIPE_MAP_STENCIL_ONLY)) !=
1630 struct pipe_box box = trans->base.b.box;
1633 box.x = trans->offset;
1636 zink_copy_image_buffer(ctx, dst, src, trans->base.b.level, buf2img ? x : 0,
1637 box.y, box.z, trans->base.b.level, &box, trans->base.b.usage);
1639 util_blitter_copy_texture(ctx->blitter, &dst->base.b, trans->base.b.level,
1691 struct zink_transfer *trans;
1694 trans = calloc(1, sizeof(*trans));
1696 trans = slab_zalloc(&ctx->transfer_pool_unsync);
1698 trans = slab_zalloc(&ctx->transfer_pool);
1699 if (!trans)
1702 pipe_resource_reference(&trans->base.b.resource, pres);
1704 trans->base.b.usage = usage;
1705 trans->base.b.box = *box;
1706 return trans;
1710 destroy_transfer(struct zink_context *ctx, struct zink_transfer *trans)
1712 if (trans->base.b.usage & PIPE_MAP_THREAD_SAFE) {
1713 free(trans);
1718 slab_free(&ctx->transfer_pool, trans);
1733 struct zink_transfer *trans = create_transfer(ctx, pres, usage, box);
1734 if (!trans)
1804 (struct pipe_resource **)&trans->staging_res, (void **)&ptr);
1805 res = zink_resource(trans->staging_res);
1806 trans->offset = offset;
1824 trans->offset = box->x % screen->info.props.limits.minMemoryMapAlignment;
1825 trans->staging_res = pipe_buffer_create(&screen->base, PIPE_BIND_LINEAR, PIPE_USAGE_STAGING, box->width + trans->offset);
1826 if (!trans->staging_res)
1828 struct zink_resource *staging_res = zink_resource(trans->staging_res);
1829 zink_copy_buffer(ctx, staging_res, res, trans->offset, box->x, box->width);
1832 map_offset = trans->offset;
1835 trans->offset = box->x % screen->info.props.limits.minMemoryMapAlignment;
1836 trans->staging_res = pipe_buffer_create(&screen->base, PIPE_BIND_LINEAR, PIPE_USAGE_STAGING, box->width + trans->offset);
1837 if (!trans->staging_res)
1839 struct zink_resource *staging_res = zink_resource(trans->staging_res);
1841 map_offset = trans->offset;
1877 VkDeviceSize offset = res->obj->offset + trans->offset;
1885 trans->base.b.usage = usage;
1892 *transfer = &trans->base.b;
1896 destroy_transfer(ctx, trans);
1911 struct zink_transfer *trans = create_transfer(ctx, pres, usage, box);
1912 if (!trans)
1915 trans->base.b.level = level;
1933 trans->base.b.stride = util_format_get_stride(format, box->width);
1934 trans->base.b.layer_stride = util_format_get_2d_size(format,
1935 trans->base.b.stride,
1944 templ.width0 = trans->base.b.layer_stride * box->depth;
1950 trans->staging_res = zink_resource_create(pctx->screen, &templ);
1951 if (!trans->staging_res)
1954 struct zink_resource *staging_res = zink_resource(trans->staging_res);
1960 zink_transfer_copy_bufimage(ctx, staging_res, res, trans);
1984 trans->base.b.stride = srl.rowPitch;
1986 trans->base.b.layer_stride = srl.depthPitch;
1988 trans->base.b.layer_stride = srl.arrayPitch;
1989 trans->offset = srl.offset;
1990 trans->depthPitch = srl.depthPitch;
2014 trans->base.b.usage |= ZINK_MAP_TEMPORARY;
2018 *transfer = &trans->base.b;
2022 destroy_transfer(ctx, trans);
2033 struct zink_transfer *trans = (struct zink_transfer *)ptrans;
2035 if (trans->base.b.usage & PIPE_MAP_WRITE) {
2037 struct zink_resource *m = trans->staging_res ? zink_resource(trans->staging_res) :
2042 src_offset = box->x + (trans->staging_res ? trans->offset : ptrans->box.x);
2046 src_offset = trans->offset +
2047 box->z * trans->depthPitch +
2048 util_format_get_2d_size(m->base.b.format, trans->base.b.stride, box->y) +
2058 if (trans->staging_res) {
2059 struct zink_resource *staging_res = zink_resource(trans->staging_res);
2064 zink_transfer_copy_bufimage(ctx, res, staging_res, trans);
2074 struct zink_transfer *trans = (struct zink_transfer *)ptrans;
2076 if (!(trans->base.b.usage & (PIPE_MAP_FLUSH_EXPLICIT | PIPE_MAP_COHERENT))) {
2083 if ((trans->base.b.usage & PIPE_MAP_PERSISTENT) && !(trans->base.b.usage & PIPE_MAP_COHERENT))
2086 if (trans->staging_res)
2087 pipe_resource_reference(&trans->staging_res, NULL);
2088 pipe_resource_reference(&trans->base.b.resource, NULL);
2090 destroy_transfer(ctx, trans);
2094 do_transfer_unmap(struct zink_screen *screen, struct zink_transfer *trans)
2096 struct zink_resource *res = zink_resource(trans->staging_res);
2098 res = zink_resource(trans->base.b.resource);
2106 struct zink_transfer *trans = (struct zink_transfer *)ptrans;
2107 if (trans->base.b.usage & PIPE_MAP_ONCE && !trans->staging_res)
2108 do_transfer_unmap(screen, trans);
2116 struct zink_transfer *trans = (struct zink_transfer *)ptrans;
2118 do_transfer_unmap(screen, trans);