I just noticed that 2017r2 changed the way FillPolygon works. I had a bug in my code that didn’t show if until 2017r2.
The problem all stemmed from FillPolygon using a 1 based array. Apparently now when the points array ends at an uneven index the result is undefined.
I had been creating my points like this and didn’t append the unused 0 index at the beginning.
So why in the world does FillPolygon use a 1 based array anyway?