mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
vc4: Allow RCL blits to the edge of the surface.
The recent unaligned fix successfully prevented RCL blits that weren't aligned inside of the surface, but we also want to be able to do RCL blits for the whole surface when the width or height of the surface aren't aligned (we don't care what renders inside of the padding).
This commit is contained in:
parent
fb4877dbab
commit
bf92017ace
1 changed files with 8 additions and 2 deletions
|
|
@ -70,10 +70,16 @@ vc4_tile_blit(struct pipe_context *pctx, const struct pipe_blit_info *info)
|
|||
return false;
|
||||
}
|
||||
|
||||
int dst_surface_width = u_minify(info->dst.resource->width0,
|
||||
info->dst.level);
|
||||
int dst_surface_height = u_minify(info->dst.resource->height0,
|
||||
info->dst.level);
|
||||
if (is_tile_unaligned(info->dst.box.x, tile_width) ||
|
||||
is_tile_unaligned(info->dst.box.y, tile_height) ||
|
||||
is_tile_unaligned(info->dst.box.width, tile_width) ||
|
||||
is_tile_unaligned(info->dst.box.height, tile_height)) {
|
||||
(is_tile_unaligned(info->dst.box.width, tile_width) &&
|
||||
info->dst.box.x + info->dst.box.width != dst_surface_width) ||
|
||||
(is_tile_unaligned(info->dst.box.height, tile_height) &&
|
||||
info->dst.box.y + info->dst.box.height != dst_surface_height)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue