The issue here is that the individual components of TypeDesc are 8-bit each, but the code was applying a 4-bit mask. It just so happens that the only case where this matters is TypeDesc::MATRIX44, since its value is 16.
The issue here is that the individual components of TypeDesc are 8-bit each, but the code was applying a 4-bit mask. It just so happens that the only case where this matters is TypeDesc::MATRIX44, since its value is 16.