WIP: lima: Split indexed draws for GL_ARRAY_BUFFER

It is possible to upload the index buffer with glBufferData and bind
it to GL_ARRAY_BUFFER. The data needs to be accessed with
PIPE_BIND_VERTEX_BUFFER then. Add the possibility to also split these
draws.

We don't create a shadow memory for that case in order to avoid creating
this shadow buffer every time we map a vertex buffer resource.
Instead, we map the GPU memory while preparing the draw directly before
calculating the splitted draw data. This seems to be the solution
with the least overhead.

An example for that is dEQP-GLES2.functional.buffer.write.use.index_array.array

Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Status Job ID Name Coverage
  Container
manual #2474244
aarch64 manual
arm_build
manual #2474245
aarch64 manual
arm_test
manual #2474246
windows shell 1809 mesa manual
windows_build_vs2019
manual #2474240
manual
x86_build
manual #2474243
manual
x86_build_old
manual #2474241
manual
x86_test-gl
manual #2474242
manual
x86_test-vk
 
  Meson X86 64
created #2474250
meson-clang
created #2474249
meson-classic
created #2474251
meson-clover
created #2474252
meson-clover-old-llvm
created #2474248
meson-gallium
created #2474247
meson-testing
created #2474253
meson-vulkan
 
  Scons
created #2474254
allowed to fail
scons-win64
 
  Meson Misc
created #2474256
aarch64
meson-arm64
created #2474257
aarch64
meson-arm64-build-test
created #2474255
aarch64
meson-armhf
created #2474259
meson-i386
created #2474262
meson-mingw32-x86_64
created #2474261
kvm
meson-ppc64el
created #2474260
kvm
meson-s390x
created #2474258
windows docker 1809 mesa
meson-windows-vs2019
 
  Panfrost
created #2474263
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64
created #2474264
mesa-ci-aarch64-lava-collabora
panfrost-t760-gles2:armhf
created #2474265
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64
created #2474266
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64