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 regressions. 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 mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev