vulkan/cmd_queue: allocate cmds based on the size of the cmd
previously the cmd queue allocated all cmds as the same size. this meant that every cmd was 144 bytes, even the (much more common) ones that might only need 20 bytes. by dynamically allocating, memory consumption is reduced, which matters if these cmds are being allocated onto a buffer.
useful for DGC on lavapipe