The double pass approach is definitely something you want to avoid. It would probably be best to open an issue at Github and request more API for packing data in MRT configurations. E.g the diffuse color is a good candidate for more aggressive packing, metal/rough/velocity can maybe also be combined.