• Home
  • Raw
  • Download

Lines Matching refs:transfer

268                           struct pipe_transfer *transfer,  in agx_transfer_flush_region()  argument
294 struct agx_transfer *transfer = CALLOC_STRUCT(agx_transfer); in agx_transfer_map() local
295 transfer->base.level = level; in agx_transfer_map()
296 transfer->base.usage = usage; in agx_transfer_map()
297 transfer->base.box = *box; in agx_transfer_map()
299 pipe_resource_reference(&transfer->base.resource, resource); in agx_transfer_map()
300 *out_transfer = &transfer->base; in agx_transfer_map()
303 transfer->base.stride = box->width * blocksize; in agx_transfer_map()
304 transfer->base.layer_stride = transfer->base.stride * box->height; in agx_transfer_map()
305 transfer->map = calloc(transfer->base.layer_stride, box->depth); in agx_transfer_map()
310 uint8_t *dst = (uint8_t *) transfer->map + in agx_transfer_map()
311 transfer->base.layer_stride * z; in agx_transfer_map()
315 transfer->base.stride / blocksize, in agx_transfer_map()
321 return transfer->map; in agx_transfer_map()
325 transfer->base.stride = rsrc->slices[level].line_stride; in agx_transfer_map()
326 transfer->base.layer_stride = rsrc->array_stride; in agx_transfer_map()
334 + transfer->base.box.y * rsrc->slices[level].line_stride in agx_transfer_map()
335 + transfer->base.box.x * blocksize; in agx_transfer_map()
341 struct pipe_transfer *transfer) in agx_transfer_unmap() argument
345 struct agx_transfer *trans = agx_transfer(transfer); in agx_transfer_unmap()
346 struct pipe_resource *prsrc = transfer->resource; in agx_transfer_unmap()
350 if (transfer->usage & PIPE_MAP_WRITE) in agx_transfer_unmap()
351 BITSET_SET(rsrc->data_valid, transfer->level); in agx_transfer_unmap()
354 if ((transfer->usage & PIPE_MAP_WRITE) && in agx_transfer_unmap()
358 for (unsigned z = 0; z < transfer->box.depth; ++z) { in agx_transfer_unmap()
359 uint8_t *map = agx_map_texture_cpu(rsrc, transfer->level, in agx_transfer_unmap()
360 transfer->box.z + z); in agx_transfer_unmap()
362 transfer->layer_stride * z; in agx_transfer_unmap()
365 u_minify(transfer->resource->width0, transfer->level), in agx_transfer_unmap()
367 transfer->stride / blocksize, in agx_transfer_unmap()
368 transfer->box.x, transfer->box.y, in agx_transfer_unmap()
369 transfer->box.x + transfer->box.width, in agx_transfer_unmap()
370 transfer->box.y + transfer->box.height, in agx_transfer_unmap()
371 agx_select_tile_shift(transfer->resource->width0, in agx_transfer_unmap()
372 transfer->resource->height0, in agx_transfer_unmap()
373 transfer->level, blocksize)); in agx_transfer_unmap()
379 pipe_resource_reference(&transfer->resource, NULL); in agx_transfer_unmap()
380 FREE(transfer); in agx_transfer_unmap()