--- a/src/gallium/drivers/r600/r600_state.c +++ a/src/gallium/drivers/r600/r600_state.c @@ -3095,7 +3095,8 @@ static boolean r600_dma_copy_tile(struct r600_context *rctx, /* It's a r6xx/r7xx limitation, the blit must be on 8 boundary for number * line in the blit. Compute max 8 line we can copy in the size limit */ - cheight = ((0x0000ffff << 2) / pitch) & 0xfffffff8; + cheight = ((0x0000ffff << 2) / pitch) > 0x00000008 ? + ((0x0000ffff << 2) / pitch) & 0xfffffff8 : ((0x0000ffff << 2) / pitch); ncopy = (copy_height / cheight) + !!(copy_height % cheight); r600_need_dma_space(rctx, ncopy * 7);