mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-21 14:10:37 +02:00
radeonsi: Use dma_copy when possible for si_blit.
This improves GLX DRI3 GPU offloading significantly on CPU bound benchmarks particularly. No performance impact for DRI2 GPU offloading. v2: Add missing tests Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Marek Olšák<marek.olsak@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
9320c8fea9
commit
5d5c20920e
1 changed files with 19 additions and 0 deletions
|
|
@ -730,6 +730,25 @@ static void si_blit(struct pipe_context *ctx,
|
|||
return;
|
||||
}
|
||||
|
||||
if (info->src.box.width == info->dst.box.width &&
|
||||
info->src.box.height == info->dst.box.height &&
|
||||
info->src.format == info->dst.format &&
|
||||
info->src.box.width > 0 &&
|
||||
info->src.box.height > 0 &&
|
||||
info->src.resource->nr_samples <= 1 &&
|
||||
info->dst.resource->nr_samples <= 1 &&
|
||||
info->src.box.depth == info->dst.box.depth &&
|
||||
info->mask == PIPE_MASK_RGBA &&
|
||||
!info->scissor_enable &&
|
||||
(!info->render_condition_enable ||
|
||||
!sctx->b.current_render_cond)) {
|
||||
sctx->b.dma_copy(ctx, info->dst.resource, info->dst.level,
|
||||
info->dst.box.x, info->dst.box.y,
|
||||
info->dst.box.z, info->src.resource,
|
||||
info->src.level, &(info->src.box));
|
||||
return;
|
||||
}
|
||||
|
||||
assert(util_blitter_is_blit_supported(sctx->blitter, info));
|
||||
|
||||
/* The driver doesn't decompress resources automatically while
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue