2014-04-04, 20:52
Ahaha, I’ve got it! I’m submitting a pull request to XBMC in a minute.
There are three images now: one for the main glyph, one for the border, one for the shadow. 1773, 1777, 1777 pixels wide respectively. XBMC tries to pack them into one texture: it calculates that it needs 1773+1777+1777 = 5327 pixels, which is more than the limit of 2048. So it halves the texture width until it’s below the limit, getting 1331! I was just three pixels off, heh. Let’s make it reset to exactly the limit instead.
I noticed this issue yesterday already but didn’t realize it actually caused the corruption!
There are three images now: one for the main glyph, one for the border, one for the shadow. 1773, 1777, 1777 pixels wide respectively. XBMC tries to pack them into one texture: it calculates that it needs 1773+1777+1777 = 5327 pixels, which is more than the limit of 2048. So it halves the texture width until it’s below the limit, getting 1331! I was just three pixels off, heh. Let’s make it reset to exactly the limit instead.
I noticed this issue yesterday already but didn’t realize it actually caused the corruption!