broadcom/vc4: Scissor blits performed using the rendering engine.
Without this, a BlitFramebuffer would mark the whole framebuffer as being changed (so we emit loads/stores of all of it) rather than just the modified subset.
This commit is contained in:
parent
93fec49a75
commit
16e17ce04b
1 changed files with 9 additions and 0 deletions
|
|
@ -195,6 +195,15 @@ vc4_render_blit(struct pipe_context *ctx, struct pipe_blit_info *info)
|
|||
return false;
|
||||
}
|
||||
|
||||
/* Enable the scissor, so we get a minimal set of tiles rendered. */
|
||||
if (!info->scissor_enable) {
|
||||
info->scissor_enable = true;
|
||||
info->scissor.minx = info->dst.box.x;
|
||||
info->scissor.miny = info->dst.box.y;
|
||||
info->scissor.maxx = info->dst.box.x + info->dst.box.width;
|
||||
info->scissor.maxy = info->dst.box.y + info->dst.box.height;
|
||||
}
|
||||
|
||||
vc4_blitter_save(vc4);
|
||||
util_blitter_blit(vc4->blitter, info);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue