lima: fix ppir spill stack allocation

The previous spill stack was fixed and too small, and caused instability
in programs requiring spilling for roughly more than one value.
This patch adds a dynamic calculation of the buffer size based on stack
utilization and switches it to a separate allocation at flush time that
will fit the shader that requires the largest buffer.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
22 jobs for !1638 with lima-ppir-dynamic-stack in 16 minutes and 23 seconds (queued for 3 seconds)
latest detached
Status Name Job ID Coverage
  Containers Build
passed debian #532603

00:00:26

 
  Build+Test
passed meson-arm64 #532612

00:02:51

passed meson-armhf #532611

00:02:14

passed meson-clang #532605

00:07:59

passed meson-clover #532609

00:09:37

passed meson-i386 #532613

00:03:57

passed meson-main #532608

00:11:36

passed meson-swr-glvnd #532604

00:06:25

passed meson-vulkan #532610

00:03:34

passed scons-llvm #532615

00:04:38

passed scons-nollvm #532614

00:05:00

passed scons-swr #532606

00:05:51

passed scons-win64 #532607

00:06:23

 
  Test
passed test-llvmpipe-gles2 1/4 #532616

00:03:31

passed test-llvmpipe-gles2 2/4 #532617

00:03:46

passed test-llvmpipe-gles2 3/4 #532618

00:03:28

passed test-llvmpipe-gles2 4/4 #532619

00:02:30

passed test-softpipe-gles2 1/4 #532620

00:01:29

passed test-softpipe-gles2 2/4 #532621

00:01:09

passed test-softpipe-gles2 3/4 #532622

00:01:21

passed test-softpipe-gles2 4/4 #532623

00:01:05

passed test-softpipe-gles3-limited #532624

00:04:19