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 devided by 2.
Signed-off-by: Zhaowei Yuan <zhaowei.y...@samsung.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111266 --- src/gallium/drivers/vc4/vc4_blit.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/vc4/vc4_blit.c b/src/gallium/drivers/vc4/vc4_blit.c index d3cc515..7697bfa 100644 --- a/src/gallium/drivers/vc4/vc4_blit.c +++ b/src/gallium/drivers/vc4/vc4_blit.c @@ -361,6 +361,7 @@ vc4_yuv_blit(struct pipe_context *pctx, const struct pipe_blit_info *info) return false; } dst_surf->width /= 2; + dst_surf->width = align(dst_surf->width, 8) / 2; if (dst->cpp == 1) dst_surf->height /= 2; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev