Lines Matching refs:rsrc
264 agx_rsrc_offset(struct agx_resource *rsrc, unsigned level, unsigned z) in agx_rsrc_offset() argument
266 struct agx_bo *bo = rsrc->bo; in agx_rsrc_offset()
267 uint8_t *map = ((uint8_t *) bo->ptr.cpu) + rsrc->slices[level].offset; in agx_rsrc_offset()
268 map += z * rsrc->array_stride; in agx_rsrc_offset()
277 struct agx_resource *rsrc = (struct agx_resource *)prsrc; in agx_resource_destroy() local
279 if (rsrc->dt) { in agx_resource_destroy()
283 winsys->displaytarget_destroy(winsys, rsrc->dt); in agx_resource_destroy()
286 agx_bo_unreference(rsrc->bo); in agx_resource_destroy()
287 FREE(rsrc); in agx_resource_destroy()
311 struct agx_resource *rsrc = agx_resource(resource); in agx_transfer_map() local
315 if ((usage & PIPE_MAP_DIRECTLY) && rsrc->modifier != DRM_FORMAT_MOD_LINEAR) in agx_transfer_map()
331 if (rsrc->modifier == DRM_FORMAT_MOD_APPLE_64X64_MORTON_ORDER) { in agx_transfer_map()
337 if ((usage & PIPE_MAP_READ) && BITSET_TEST(rsrc->data_valid, level)) { in agx_transfer_map()
339 uint8_t *map = agx_rsrc_offset(rsrc, level, box->z + z); in agx_transfer_map()
350 assert (rsrc->modifier == DRM_FORMAT_MOD_LINEAR); in agx_transfer_map()
352 transfer->base.stride = rsrc->slices[level].line_stride; in agx_transfer_map()
353 transfer->base.layer_stride = rsrc->array_stride; in agx_transfer_map()
358 BITSET_SET(rsrc->data_valid, level); in agx_transfer_map()
360 return agx_rsrc_offset(rsrc, level, box->z) in agx_transfer_map()
361 + transfer->base.box.y * rsrc->slices[level].line_stride in agx_transfer_map()
374 struct agx_resource *rsrc = (struct agx_resource *) prsrc; in agx_transfer_unmap() local
378 BITSET_SET(rsrc->data_valid, transfer->level); in agx_transfer_unmap()
382 rsrc->modifier == DRM_FORMAT_MOD_APPLE_64X64_MORTON_ORDER) { in agx_transfer_unmap()
386 uint8_t *map = agx_rsrc_offset(rsrc, transfer->level, in agx_transfer_unmap()
514 struct agx_resource *rsrc = agx_resource(surf->texture); in agx_flush() local
515 agx_batch_add_bo(batch, rsrc->bo); in agx_flush()
520 struct agx_resource *rsrc = agx_resource(surf->texture); in agx_flush() local
521 agx_batch_add_bo(batch, rsrc->bo); in agx_flush()
677 struct agx_resource *rsrc = (struct agx_resource *) prsrc; in agx_flush_frontbuffer() local
682 assert (rsrc->dt); in agx_flush_frontbuffer()
683 void *map = winsys->displaytarget_map(winsys, rsrc->dt, PIPE_USAGE_DEFAULT); in agx_flush_frontbuffer()
686 if (rsrc->modifier == DRM_FORMAT_MOD_APPLE_64X64_MORTON_ORDER) { in agx_flush_frontbuffer()
687 agx_detile(rsrc->bo->ptr.cpu, map, in agx_flush_frontbuffer()
688 rsrc->base.width0, 32, rsrc->dt_stride / 4, in agx_flush_frontbuffer()
689 0, 0, rsrc->base.width0, rsrc->base.height0); in agx_flush_frontbuffer()
691 memcpy(map, rsrc->bo->ptr.cpu, rsrc->dt_stride * rsrc->base.height0); in agx_flush_frontbuffer()
694 winsys->displaytarget_display(winsys, rsrc->dt, context_private, box); in agx_flush_frontbuffer()