mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 03:48:06 +02:00
freedreno: add modifier param to fd_try_shadow_resource()
To uncompress UBWC, I want to re-use the shadow path, but we'll need a way to request that the new buffer is not compressed. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
This commit is contained in:
parent
3b05a120a3
commit
3c9a31eb50
1 changed files with 5 additions and 3 deletions
|
|
@ -138,7 +138,7 @@ do_blit(struct fd_context *ctx, const struct pipe_blit_info *blit, bool fallback
|
|||
|
||||
static bool
|
||||
fd_try_shadow_resource(struct fd_context *ctx, struct fd_resource *rsc,
|
||||
unsigned level, const struct pipe_box *box)
|
||||
unsigned level, const struct pipe_box *box, uint64_t modifier)
|
||||
{
|
||||
struct pipe_context *pctx = &ctx->base;
|
||||
struct pipe_resource *prsc = &rsc->base;
|
||||
|
|
@ -168,7 +168,8 @@ fd_try_shadow_resource(struct fd_context *ctx, struct fd_resource *rsc,
|
|||
return false;
|
||||
|
||||
struct pipe_resource *pshadow =
|
||||
pctx->screen->resource_create(pctx->screen, prsc);
|
||||
pctx->screen->resource_create_with_modifiers(pctx->screen,
|
||||
prsc, &modifier, 1);
|
||||
|
||||
if (!pshadow)
|
||||
return false;
|
||||
|
|
@ -582,7 +583,8 @@ fd_resource_transfer_map(struct pipe_context *pctx,
|
|||
/* try shadowing only if it avoids a flush, otherwise staging would
|
||||
* be better:
|
||||
*/
|
||||
if (needs_flush && fd_try_shadow_resource(ctx, rsc, level, box)) {
|
||||
if (needs_flush && fd_try_shadow_resource(ctx, rsc, level,
|
||||
box, DRM_FORMAT_MOD_LINEAR)) {
|
||||
needs_flush = busy = false;
|
||||
rebind_resource(ctx, prsc);
|
||||
ctx->stats.shadow_uploads++;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue