lima: split draw calls on 64k vertices

The Mali400 only supports draws with up to 64k vertices per command.
To handle this, break the draw_vbo call into multiple commands.
Indexed drawing is left to a separate code path.
This implementation was ported from vc4_draw_vbo.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
48 jobs for !2445 with lima-vertex-fixes in 107 minutes and 17 seconds (queued for 6 seconds)
detached
Status Job ID Name Coverage
  Container
passed #938537
debian-10:amd64

00:00:17

passed #938539
aarch64
debian-10:arm64

00:00:31

passed #938540
aarch64
debian-10-test:arm64

00:00:30

passed #938538
debian-9:amd64

00:00:20

passed #938536
lava-container:arm64

00:00:23

passed #938535
lava-container:armhf

00:00:42

 
  Build
passed #938542
lava-build:arm64

00:05:19

passed #938541
lava-build:armhf

00:06:46

passed #938545
aarch64
meson-arm64

00:09:55

passed #938544
aarch64
meson-armhf

00:06:11

passed #938547
meson-clang

00:07:55

passed #938550
meson-clover

00:05:19

passed #938551
meson-clover-old-llvm

00:02:58

passed #938553
meson-i386

00:04:19

passed #938543
meson-main

00:14:24

passed #938554
meson-mingw32-x86_64

00:03:57

passed #938546
meson-swr-glvnd

00:03:42

passed #938552
meson-vulkan

00:04:59

passed #938555
scons

00:11:20

passed #938556
scons-old-llvm

00:07:17

passed #938548
scons-swr

00:03:38

passed #938549
scons-win64

00:06:53

 
  Test
passed #938579
db410c
arm64_a306_gles2 1/4

00:04:05

passed #938580
db410c
arm64_a306_gles2 2/4

00:05:04

passed #938581
db410c
arm64_a306_gles2 3/4

00:04:00

passed #938582
db410c
arm64_a306_gles2 4/4

00:04:11

passed #938568
mesa-cheza
arm64_a630_gles2

00:05:01

passed #938569
mesa-cheza
arm64_a630_gles31 1/4

00:04:42

passed #938570
mesa-cheza
arm64_a630_gles31 2/4

00:05:27

passed #938571
mesa-cheza
arm64_a630_gles31 3/4

00:05:22

passed #938572
mesa-cheza
arm64_a630_gles31 4/4

00:05:06

passed #938573
mesa-cheza
arm64_a630_gles3 1/6

00:03:40

passed #938574
mesa-cheza
arm64_a630_gles3 2/6

00:03:45

passed #938575
mesa-cheza
arm64_a630_gles3 3/6

00:03:56

passed #938576
mesa-cheza
arm64_a630_gles3 4/6

00:03:53

passed #938577
mesa-cheza
arm64_a630_gles3 5/6

00:03:42

passed #938578
mesa-cheza
arm64_a630_gles3 6/6

00:03:51

passed #938557
lava-rk3288-veyron-jaq
panfrost-t760-test:armhf

00:06:54

passed #938558
lava-rk3399-gru-kevin
panfrost-t860-test:arm64

00:05:30

passed #938559
test-llvmpipe-gles2 1/4

00:02:41

passed #938560
test-llvmpipe-gles2 2/4

00:02:48

passed #938561
test-llvmpipe-gles2 3/4

00:02:37

passed #938562
test-llvmpipe-gles2 4/4

00:02:48

passed #938563
test-softpipe-gles2 1/4

00:01:17

passed #938564
test-softpipe-gles2 2/4

00:01:17

passed #938565
test-softpipe-gles2 3/4

00:01:11

passed #938566
test-softpipe-gles2 4/4

00:01:11

passed #938567
test-softpipe-gles3-limited

00:02:38