This pass removes performs the following type substitution on all non-compute shaders:
v16i8 => i128
- v16i8 is used for constant memory resource descriptors. This type is legal for some compute APIs, and we don't want to declare it as legal in the backend, because we want the legalizer to expand all v16i8 operations. v1* => *
- Having v1* types complicates the legalizer and we can easily replace
- them with the element type.
Definition in file SITypeRewriter.cpp.