It is usually nice to unroll loops with a different number of iteration based on a macro. This commit adds this functionality to our shader preprocessor so that we don't have to manually unroll these loops. Pull Request: https://projects.blender.org/blender/blender/pulls/146043