I've dusted off my old uniform packing patches and made it work with the
radeonsi NIR backend. This was much simpler than the messing around needed for
tgsi (which I never got fully working).
One thing to note is we don't do packing from asm programs because there is
currently no Mesa IR to NIR pass in the state tracker.
Also the last two patches need to be squashed before pushing to avoid
The main goal of this series is to reduce the cpu overhead cause by
_mesa_propagate_uniforms_to_driver_storage(). The function is slow since we
need to deal with strides etc because we are copying packed data to an
unpacked destination. It's also copying data that we have only just copied
to another duplicate uniform storage that gets created by the linker.
This series fixes both of these issues and also reduces the size of the
drivers const buffer as a side effect.
mesa-dev mailing list