Lines Matching refs:prsrc
1242 struct panfrost_resource *prsrc,
1245 if (prsrc->modifier_constant)
1260 panfrost_is_2d(prsrc) &&
1261 prsrc->base.last_level == 0 &&
1262 transfer->box.width == prsrc->base.width0 &&
1263 transfer->box.height == prsrc->base.height0 &&
1268 ++prsrc->modifier_updates;
1270 if (prsrc->modifier_updates >= LAYOUT_CONVERT_THRESHOLD) {
1285 struct panfrost_resource *prsrc = (struct panfrost_resource *) transfer->resource;
1289 prsrc->valid.crc = false;
1298 if (panfrost_should_linear_convert(dev, prsrc, transfer)) {
1300 panfrost_bo_unreference(prsrc->image.data.bo);
1301 if (prsrc->image.crc.bo)
1302 panfrost_bo_unreference(prsrc->image.crc.bo);
1304 panfrost_resource_setup(dev, prsrc, DRM_FORMAT_MOD_LINEAR,
1305 prsrc->image.layout.format);
1307 prsrc->image.data.bo = pan_resource(trans->staging.rsrc)->image.data.bo;
1308 panfrost_bo_reference(prsrc->image.data.bo);
1322 struct panfrost_bo *bo = prsrc->image.data.bo;
1325 BITSET_SET(prsrc->valid.data, transfer->level);
1327 if (prsrc->image.layout.modifier == DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED) {
1328 if (panfrost_should_linear_convert(dev, prsrc, transfer)) {
1329 panfrost_resource_setup(dev, prsrc, DRM_FORMAT_MOD_LINEAR,
1330 prsrc->image.layout.format);
1331 if (prsrc->image.layout.data_size > bo->size) {
1334 bo = prsrc->image.data.bo =
1335 panfrost_bo_create(dev, prsrc->image.layout.data_size, 0, label);
1340 bo->ptr.cpu + prsrc->image.layout.slices[0].offset,
1341 prsrc->base.format,
1342 prsrc->image.layout.slices[0].row_stride,
1350 panfrost_store_tiled_images(trans, prsrc);
1357 util_range_add(&prsrc->base, &prsrc->valid_buffer_range,
1361 panfrost_minmax_cache_invalidate(prsrc->index_cache, transfer);
1387 panfrost_invalidate_resource(struct pipe_context *pctx, struct pipe_resource *prsrc)
1391 struct panfrost_resource *rsrc = pan_resource(prsrc);
1396 if (batch->key.zsbuf && batch->key.zsbuf->texture == prsrc)
1402 if (surf && surf->texture == prsrc)
1410 struct panfrost_resource *prsrc = (struct panfrost_resource *) rsrc;
1411 return prsrc->image.layout.format;
1417 struct pipe_resource *prsrc,
1424 struct panfrost_resource *rsrc = pan_resource(prsrc);
1437 pctx, prsrc, format,
1446 panfrost_resource_set_stencil(struct pipe_resource *prsrc,
1449 pan_resource(prsrc)->separate_stencil = pan_resource(stencil);
1453 panfrost_resource_get_stencil(struct pipe_resource *prsrc)
1455 if (!pan_resource(prsrc)->separate_stencil)
1458 return &pan_resource(prsrc)->separate_stencil->base;