After drafting a few different experiments, I came up with this alternative proposal for !1316 (closed). Ideally it goes in the direction we want descriptor mapping to work on Metal in the long run, with a design similar to what is used by the Metal shader converter (though not directly compatible, even in the long run).