This patch adds proper internal support for 2D vectors in GPU materials, while previously it used a 3D vector with the Z component ignored as a workaround. This has no user-facing consequences. The type conversion file was split into an additional code generation file for easier refactoring. Pull Request: https://projects.blender.org/blender/blender/pulls/147983