Fix ubsan reports in nir/radv
Addresses various issues caught while running vkglcts with ubsan enabled:
- Unaligned memory access
- Signed multiplication overflows
memcpy(x, NULL, 0)
- Out-of-bounds array access
I also sneaked in a cleanup of related code via ffabca10 , let me know if I should move that to a separate MR.
Changes have been verified via vk-cts-image and had no impact on conformance or shader code gen.
Edited by Tony Wasserka