This MR does two things:
type_size callback to
nir_lower_io() which involves touching a lot of drivers.
spirv_to_nir emits a load/insert/store pattern which is potentially racy. On NVIDIA, there are CTS tests which actually hit this race so I need this for passing CTS. We have a NIR pass which lowers writes of this form to an if-ladder with write-masks which is what we use for most drivers.