Draft: panvk: add pointer relocations based secondary command buffers support

Open sin3point14 requested to merge sin3point14/mesa:reloc-sec-cmdbuf into main

The initial commits add a CPU-only BO to panfrost. A secondary command doesn't allocate a normal BO but a CPU-only BO. This BO will store the descriptors for all the commands recorded to the secondary command buffer. When CmdExecuteCommands is called on a secondary command buffer, all jobs in this BO are copy-pasted into the primary command buffer, while adjusting all the address fields according to the base address of the primary command buffer's BO. We also take care of address fields that point out of the BO and set them explicitly so they are valid.

Merge request reports