Lines Matching refs:prsc
73 struct pipe_resource *prsc = &rsc->b.b;
83 if (vb->vb[i].buffer.resource == prsc)
104 if (cb->cb[i].buffer == prsc) {
116 if (tex->textures[i] && (tex->textures[i]->texture == prsc)) {
129 if (si->si[i].resource == prsc) {
142 if (sb->sb[i].buffer == prsc) {
196 struct pipe_resource *prsc = &rsc->b.b;
200 COND(prsc->usage & PIPE_USAGE_STAGING, FD_BO_CACHED_COHERENT) |
201 COND(prsc->bind & PIPE_BIND_SHARED, FD_BO_SHARED) |
202 COND(prsc->bind & PIPE_BIND_SCANOUT, FD_BO_SCANOUT);
213 fd_bo_new(screen->dev, size, flags, "%ux%ux%u@%u:%x", prsc->width0,
214 prsc->height0, prsc->depth0, rsc->layout.cpp, prsc->bind);
319 fd_resource_busy(struct pipe_screen *pscreen, struct pipe_resource *prsc,
322 struct fd_resource *rsc = fd_resource(prsc);
342 is_renderable(struct pipe_resource *prsc)
344 struct pipe_screen *pscreen = prsc->screen;
346 pscreen, prsc->format, prsc->target, prsc->nr_samples,
347 prsc->nr_storage_samples, PIPE_BIND_RENDER_TARGET);
362 struct pipe_resource *prsc = &rsc->b.b;
367 if (prsc->next)
392 if (!is_renderable(prsc))
400 if (prsc->target == PIPE_BUFFER)
404 prsc, level, box->x, box->y, box->z,
408 if ((prsc->target >= PIPE_TEXTURE_2D) && box && !discard_whole_level)
412 pctx->screen, prsc, &modifier, 1);
467 blit.dst.resource = prsc;
468 blit.dst.format = prsc->format;
471 blit.mask = util_format_get_mask(prsc->format);
485 for (unsigned l = 0; l <= prsc->last_level; l++) {
491 set_box(box.width, u_minify(prsc->width0, l));
492 set_box(box.height, u_minify(prsc->height0, l));
493 set_box(box.depth, u_minify(prsc->depth0, l));
495 for (int i = 0; i < prsc->array_size; i++) {
507 switch (prsc->target) {
521 if ((box->x + box->width) < u_minify(prsc->width0, level)) {
524 u_minify(prsc->width0, level) - (box->x + box->width));
684 fd_flush_resource(struct pipe_context *pctx, struct pipe_resource *prsc)
688 struct fd_resource *rsc = fd_resource(prsc);
746 struct pipe_resource *prsc,
753 struct fd_resource *rsc = fd_resource(prsc);
756 assert(prsc->target != PIPE_BUFFER);
783 struct pipe_resource *prsc, unsigned level,
787 struct fd_resource *rsc = fd_resource(prsc);
788 enum pipe_format format = prsc->format;
801 return resource_transfer_map_staging(pctx, prsc, level, usage, box, trans);
819 resource_transfer_map(struct pipe_context *pctx, struct pipe_resource *prsc,
825 struct fd_resource *rsc = fd_resource(prsc);
845 return resource_transfer_map_staging(pctx, prsc, level, usage, box, trans);
847 perf_debug_ctx(ctx, "wc readback: prsc=%p, level=%u, usage=%x, box=%dx%d+%d,%d",
848 prsc, level, usage, box->width, box->height, box->x, box->y);
892 if (is_renderable(prsc))
928 return resource_transfer_map_unsync(pctx, prsc, level, usage, box, trans);
964 fd_resource_transfer_map(struct pipe_context *pctx, struct pipe_resource *prsc,
970 struct fd_resource *rsc = fd_resource(prsc);
974 DBG("prsc=%p, level=%u, usage=%x, box=%dx%d+%d,%d", prsc, level, usage,
995 pipe_resource_reference(&ptrans->resource, prsc);
1004 ret = resource_transfer_map_unsync(pctx, prsc, level, usage, box, trans);
1006 ret = resource_transfer_map(pctx, prsc, level, usage, box, trans);
1019 fd_resource_destroy(struct pipe_screen *pscreen, struct pipe_resource *prsc)
1021 struct fd_screen *screen = fd_screen(prsc->screen);
1022 struct fd_resource *rsc = fd_resource(prsc);
1033 if (prsc->target == PIPE_BUFFER)
1036 threaded_resource_deinit(prsc);
1060 struct pipe_resource *prsc, struct winsys_handle *handle,
1063 struct fd_resource *rsc = fd_resource(prsc);
1069 DBG("%" PRSC_FMT ", modifier=%" PRIx64, PRSC_ARGS(prsc), handle->modifier);
1077 fd_resource_resize(struct pipe_resource *prsc, uint32_t sz)
1079 struct fd_resource *rsc = fd_resource(prsc);
1081 assert(prsc->width0 == 0);
1082 assert(prsc->target == PIPE_BUFFER);
1083 assert(prsc->bind == PIPE_BIND_QUERY_BUFFER);
1085 prsc->width0 = sz;
1086 realloc_bo(rsc, fd_screen(prsc->screen)->setup_slices(rsc));
1090 fd_resource_layout_init(struct pipe_resource *prsc)
1092 struct fd_resource *rsc = fd_resource(prsc);
1095 layout->format = prsc->format;
1097 layout->width0 = prsc->width0;
1098 layout->height0 = prsc->height0;
1099 layout->depth0 = prsc->depth0;
1101 layout->cpp = util_format_get_blocksize(prsc->format);
1102 layout->cpp *= fd_resource_nr_samples(prsc);
1116 struct pipe_resource *prsc = &rsc->b.b;
1117 *prsc = *tmpl;
1119 pipe_reference_init(&prsc->reference, 1);
1120 prsc->screen = pscreen;
1134 threaded_resource_init(prsc, false);
1150 get_best_layout(struct fd_screen *screen, struct pipe_resource *prsc,
1162 if (!screen->tile_mode(prsc))
1171 PRSC_ARGS(prsc));
1182 PRSC_ARGS(prsc));
1194 PRSC_ARGS(prsc));
1214 PRSC_ARGS(prsc));
1219 PRSC_ARGS(prsc));
1238 struct pipe_resource *prsc;
1246 prsc = &rsc->b.b;
1249 if ((prsc->target == PIPE_BUFFER) && (format == PIPE_FORMAT_NONE))
1250 format = prsc->format = PIPE_FORMAT_R8_UNORM;
1252 DBG("%" PRSC_FMT, PRSC_ARGS(prsc));
1257 fd_resource_layout_init(prsc);
1260 get_best_layout(screen, prsc, tmpl, modifiers, count);
1262 free(prsc);
1267 rsc->layout.tile_mode = screen->tile_mode(prsc);
1273 if (prsc->target == PIPE_BUFFER) {
1274 assert(prsc->format == PIPE_FORMAT_R8_UNORM);
1275 size = prsc->width0;
1286 assert(prsc->bind == PIPE_BIND_QUERY_BUFFER);
1288 return prsc;
1294 size = rsc->layout.layer_size * prsc->array_size;
1304 return prsc;
1317 struct pipe_resource *prsc;
1351 prsc =
1353 if (!prsc)
1355 rsc = fd_resource(prsc);
1361 return prsc;
1363 fd_resource_destroy(pscreen, prsc);
1392 struct pipe_resource *prsc = &rsc->b.b;
1394 DBG("%" PRSC_FMT ", modifier=%" PRIx64, PRSC_ARGS(prsc), handle->modifier);
1398 fd_resource_layout_init(prsc);
1410 slice->size0 = handle->stride * prsc->height0;
1428 if (rsc->layout.pitch0 < (prsc->width0 * rsc->layout.cpp) ||
1439 renderonly_create_gpu_import_for_resource(prsc, screen->ro, NULL);
1445 return prsc;
1448 fd_resource_destroy(pscreen, prsc);
1474 struct pipe_resource *prsc) in_dt
1477 struct fd_resource *rsc = fd_resource(prsc);
1479 if (prsc->target == PIPE_BUFFER) {
1491 if (pfb->zsbuf && pfb->zsbuf->texture == prsc) {
1497 if (pfb->cbufs[i] && pfb->cbufs[i]->texture == prsc) {
1508 fd_resource_get_internal_format(struct pipe_resource *prsc)
1510 return fd_resource(prsc)->internal_format;
1514 fd_resource_set_stencil(struct pipe_resource *prsc,
1517 fd_resource(prsc)->stencil = fd_resource(stencil);
1521 fd_resource_get_stencil(struct pipe_resource *prsc)
1523 struct fd_resource *rsc = fd_resource(prsc);
1568 struct pipe_resource *prsc;
1584 prsc = fd_resource_allocate_and_resolve(pscreen, tmpl, &modifiers, 1, &size);
1585 if (!prsc)
1587 rsc = fd_resource(prsc);
1594 fd_resource_destroy(pscreen, prsc);
1601 return prsc;