Browse Source

panfrost: Load from tiled images

Now that we have lima tiling code available, use it to load from a tiled
source.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
tags/19.2-branchpoint
Alyssa Rosenzweig 6 years ago
parent
commit
546236e27f
1 changed files with 15 additions and 2 deletions
  1. 15
    2
      src/gallium/drivers/panfrost/pan_resource.c

+ 15
- 2
src/gallium/drivers/panfrost/pan_resource.c View File

@@ -506,9 +506,22 @@ panfrost_transfer_map(struct pipe_context *pctx,

transfer->base.stride = box->width * bytes_per_pixel;
transfer->base.layer_stride = transfer->base.stride * box->height;

/* TODO: Reads */
transfer->map = rzalloc_size(transfer, transfer->base.layer_stride * box->depth);
assert(box->depth == 1);

if (usage & PIPE_TRANSFER_READ) {
if (bo->layout == PAN_AFBC) {
DBG("Unimplemented: reads from AFBC");
} else if (bo->layout == PAN_TILED) {
panfrost_load_tiled_image(
transfer->map,
bo->cpu + bo->slices[level].offset,
box,
transfer->base.stride,
bo->slices[level].stride,
util_format_get_blocksize(resource->format));
}
}

return transfer->map;
} else {

Loading…
Cancel
Save