A float array use different alignment and reservation rules on GPU versus CPU. Before this change the _pad1 was aligned to 16 bytes as it was defined as an array, but on CPU this alignment doesn't happen. This is fixed by using 3 floats in stead of a float array for padding. Pull Request: https://projects.blender.org/blender/blender/pulls/112565