Create surface based on endianness and update for upstream SDL