Additional mat3 constructors added, global variable namespace collisions for uniform and object color avoided via re-name. Metal vertex format compatibility added for shaders wherein vertex data goes through a double-conversion and cannot be implicitly converted during Metal vertex assembly e.g. bitmasks passed directly as unsigned type in shader interface for certain shader interfaces. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Differential Revision: https://developer.blender.org/D16433