I got a bug report about this for vkQuake: https://github.com/Novum/vkQuake/issues/145
vkquake uses char for the pants/shirt members of the gltexture_t. This works well on x86, but does not work well on arm, where char is unsigned (so the comparison with -1 elsewhere in the code will always succeed). This should probably be changed to int8_t instead (or signed char).
Fixed by changing types to signed char; thanks.
https://sourceforge.net/p/quakespasm/code/1588/