turnip: dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_* fails
dEQP-VK.spirv_assembly.instruction.compute.spirv_ids_abuse.lots_ids,Crash
dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_frag,Crash
dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_geom,Crash
dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_tessc,Crash
dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_tesse,Crash
dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_vert,Crash
These tests emit about 160k instructions. Register allocation fails with an assertion error:
Test case 'dEQP-VK.spirv_assembly.instruction.compute.spirv_ids_abuse.lots_ids'..
deqp-vk: ../src/freedreno/ir3/ir3_ra.c:553: ra_file_insert: Assertion `interval->physreg_end <= file->size' failed.
Thread 1 "deqp-vk" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) frame 4
#4 0x0000fffff6fc04e0 in ra_file_insert (file=0xaaaad4f02c00, interval=0xaaaad53393e0) at ../src/freedreno/ir3/ir3_ra.c:553
553 assert(interval->physreg_end <= file->size);
(gdb) p interval->physreg_end
$3 = 490
(gdb) p file->size
$4 = 96
!12033 (merged) does not change this.