broadcom/vc4: Expand width of dst surface
authorZhaowei Yuan <zhaowei.yuan@samsung.com>
Tue, 3 Sep 2019 02:58:59 +0000 (10:58 +0800)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Tue, 3 Sep 2019 06:47:43 +0000 (08:47 +0200)
Four bytes of src_surf will be compressed into a 32-bits data and
stored into dst_surf, and dst_surf is read as z-order, so its width
must be aligned to multiples of 8(4x2) before divided by 2.

Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111266

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
src/gallium/drivers/vc4/vc4_blit.c

index d3cc5152a2d9efb7d81fe68720c1889a6d73e62d..d379bcc1bb50d50bb59a83d28af947f6c057f8dc 100644 (file)
@@ -360,7 +360,7 @@ vc4_yuv_blit(struct pipe_context *pctx, const struct pipe_blit_info *info)
                 util_blitter_unset_running_flag(vc4->blitter);
                 return false;
         }
-        dst_surf->width /= 2;
+        dst_surf->width = align(dst_surf->width, 8) / 2;
         if (dst->cpp == 1)
                 dst_surf->height /= 2;