Looking at tests, here's some more tests that occur to me:
* Can the component be a "matrix" swizzle (_11 or _m00, etc.)?
* Can we test that it's legal (if ignored) to put packoffset on a resource?
* Brief tests suggest that it's actually fine to mix packoffset numeric constants with objects that have register() but not packoffset() in the same buffer. We should probably test that and get it right; it wouldn't surprise me if that one in particular is actually used.
* Can we have tests that show packoffset is ignored for sm1? Also, how many of the errors implemented in these patches should apply to sm1?