Also, one more thing - at least on x86 desktop (not x86 android unfortunately), we can use the reverse texture format instead (GL_UNSIGNED_SHORT_4_4_4_4_REV etc) and avoid this swapping altogether?